vi的三种模式:命令模式、编辑模式、尾行模式

一.命令模式

  1.光标移动

    a、字符级

      左(h)  下(j)  上(k)  右(l)

    b、单词级

      w word移动到下个单词首字母

      b before上个单词首字母

      e end下个单词结尾

    c、行级

      0 行首

      $ 行尾

    d、段落级{ 上  } 下(没必要记忆)

    e、屏幕级 H屏首  L屏尾(没必要记忆)

    f、文档级

      G 文档尾部

      nG 文档第n行

      gg 文档第一行

      crtl+f  <--> pagedown向下翻页

      crtl+b <--> pageup向上翻页

      n+enter      向下移动n行

  2.内容删除

    dd  //删除当前行

    ndd  //自当前行向下删除n行

    x  //删除当前字符

    cw  //删除光标所在字母后面的字符

  3.内容复制

    yy  //复制光标当前行

    nyy  //自当前行复制n行

    p  //对(删除)复制的内容进行粘贴

  4.相关快捷操作

    u  //撤销

    .  //重复上次操作

二.编辑模式  (编辑模式下可以输入任意内容)

  a 光标向后移动一位

  i  当前位置

  o 另起新行

  s 删除光标所在字符

  r 替换光标所在字符

三.尾行模式  (用于保存内容、查找替换、设置行号等功能性操作)

  :q    //quit退出vi编辑器

  :w   //write保存修改的内容

  :wq  //保存并退出

  :q!  //强制退出,当对文本内容作了修改而不想要保存时

  :w!  //强制保存,当没有文本的写权限时

  :set number  或  :set nu  //显示行号

  :set nonumber  或  :set nonu  //取消显示行号

  :/内容/  或  /内容  //查找指定内容  //n将光标移动到下一个目标  //N上一个

  :n  //跳转到第n行

  :s/targetContent/newContent  //替换当前行第一个targetContent为newContent

  :s/targetContent/newContent/g  //整行相应内容替换

  :%s/targetContent/newContent  <==> :1,$s/word1/word2/g //整个文本相应内容替换

  :n1,n2s/word1/word2/gc      //:100,200s/word1/word2/g   把100行到200行之间的word1替换为word2,并提示是否替换  c->confirm

Linux之vi三种模式常用操作的更多相关文章

  1. vi/vim 三种模式的操作

    来源:http://www.runoob.com/linux/linux-vim.html ps:刚刚进入vi/vim 是命令模式 一.命令模式 i 切换到输入模式,以输入字符. x 删除当前光标所在 ...

  2. vi三种模式的切换

    基础上vi/vim共分为三种模式,分别是命令模式,输入模式和底线命令模式. 一.命令模式 用户刚刚启动vi/vim,便进入了命令模式. 在此状态下敲击键盘动作会被vim识别为命令,而非输入字符.比如我 ...

  3. 转载:Linux的vim三种模式

    一般模式:在Linux终端中输入“vim 文件名”就进入了一般模式,但不能输入文字. 编辑模式:在一般模式下按i就会进入编辑模式,此时就可以写程式,按Esc可回到一般模式. 命令模式:在一般模式下按: ...

  4. Linux的vim三种模式及命令

    一般模式:在Linux终端中输入"vim 文件名"就进入了一般模式,但不能输入文字.编辑模式:在一般模式下按i就会进入编辑模式,此时就可以写程式,按Esc可回到一般模式. 命令模式 ...

  5. Vi三种模式详解

    命令行模式 (command mode/一般模式) 任何时候,不管用户处于何种模式,只要按一下“ESC”键,即可使Vi进入命令行模式:我们在shell环境(提示符为$)下输入启动Vi命令,进入编辑器时 ...

  6. linux中vim编辑器三种模式及常用命令的使用

    Linux命令经常使用才会烂熟于心 命令行模式: 移动光标: 向下左右箭头可以移动光标: 将光标移动到行尾:$; 将光标移动到行头:^: 将光标移动到页尾:shift+g; 将光标移动到页头:1+sh ...

  7. VIM 三种模式和常用命令

    引言 大数据开发工作中,周围的同事不是用 VIM 就是 Emacs,你要是用 UltraEdit 或 notepad++ 都不好意思跟人家打招呼...什么插件呀.语法高亮呀.拼写检查呀,能给它开的都给 ...

  8. vim(vi)下的三种模式及其相关命令

    vim(vi)下的三种模式1.命令行模式 2.末行模式 3.插入模式 三种模式的联系及其相互转换 在我们输入vi命令进入编写程序的页面后,我们看到的是命令行模式,在我们输入“a”.“i”.“o”.“O ...

  9. Linux初学之vmware Workstation 网络连接三种模式

    简介: VM(VMware Workstation简称VM,后面都将用VM代替阐述)是一款功能强大的虚拟化软件.VM支持在 单一的桌面上同时运行多款不同的操作系统,能够模拟完整的网络环境,支持pxe功 ...

随机推荐

  1. JS 页面刷新或重载

    一.先来看一个简单的例子:下面以三个页面分别命名为frame.html.top.html.bottom.html为例来具体说明如何做.frame.html 由上(top.html)下(bottom.h ...

  2. JAVA 微信开发

    公司最近要搭建一个java的微信系统,感觉自己没有记录的很多所以从今天开始每天开始更新一遍java的微信文章记录. 如有兴趣的可以加入群463676190,一起交流交流

  3. libevent源码深度剖析八

    libevent源码深度剖析八 ——集成信号处理 张亮 现在我们已经了解了libevent的基本框架:事件管理框架和事件主循环.上节提到了libevent中I/O事件和Signal以及Timer事件的 ...

  4. SSH隧道技术简介

    本文的受众如果你遇到了以下问题,那么你应该阅读这篇文章 我听说过这种技术,我对它很感兴趣 我想在家里访问我在公司的机器(写程序,查数据,下电影). 公司为了防止我们用XX软件封锁了它的端口或者服务器地 ...

  5. php常用 随机数

    <?php $number =range(1,50); //shuffle 将数组顺序随即打乱. shuffle($number); print_r($number); echo '<br ...

  6. c++ 组合模式(composite)

    原文地址:http://www.cnblogs.com/jiese/p/3168844.html 当你发现需求中是体现部分与整体层次的结构时,以及你希望用户可以忽略组合对象与单个对象的不同,统一地使用 ...

  7. SpringMVC 课程第一天

    SpringMVC第一天   框架课程 1. 课程计划 第一天 1.SpringMVC介绍 2.入门程序 3.SpringMVC架构讲解 a) 框架结构 b) 组件说明 4.SpringMVC整合My ...

  8. keepalived配置

    keepalived配置 之前已经安装完成,接下来我们配置keepalived. 假设我的ip地址如下: server1:192.168.0.150 server2:192.168.0.157 vip ...

  9. PyV8在服务端运行自动崩溃问题

    近来想在服务端架设WSGI + PyV8去自动解析JavaScript代码,然后返回解析后的数据给客户端.但是发现,在nginx配置后,客户端一请求,服务端的python脚本自动崩溃. 见代码: de ...

  10. 一、office web apps 部署

    原文出处:http://www.cnblogs.com/yanweidie/p/4516164.html 原文出处:https://www.cnblogs.com/poissonnotes/p/323 ...