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. saltstack系列(二)——zmq应答模式

    python zeromq介绍 1.ZeroMQ并不是一个对socket的封装,不能用它去实现已有的网络协议. 2.有自己的模式,不同于更底层的点对点通讯模式. 3.有比tcp协议更高一级的协议(当然 ...

  2. 浅谈块元素绝对定位的margin属性

    对于div的绝对定位一直以为margin属性是无效的,只是通过top,left,bottom,right定位,然而今天的却发现不是这样的,于是对其做了些实验: 使用的HTML原始测试文件: <! ...

  3. jquery触发两次onchange事件

    在项目中需要给select绑定改变事件,来触发动作,但是发现改变一次select,onchange方法执行两遍 //这是那个标签,用的是我们公司内部的selectlist <select cla ...

  4. Android 创建项目出现No resource found that matches the given name Theme.AppCompat.Light

    关于为何出现No resource found that matches the given name ‘Theme.AppCompat.Light’的原因 这边博客已经写的很清楚了 大家可以参考一下 ...

  5. Using native JSON

    文介绍了兼容ECMAScript 5 标准的原生JSON对象. 在不支持原生JSON对象的旧版本Firefox中,该如何处理JSON数据.请查看 JSON. 原生JSON对象包含有两个关键方法.JSO ...

  6. Reddit指南

    一.简介 Reddit是网页新鲜事件和热点事件的源头,它也是互联网最有趣的地方和有高度组织的链接集中处.   二.指南 http://article.yeeyan.org/view/523415/45 ...

  7. Django-restframework25 Pagination(分页)

    Django-restframework25 Pagination(分页) 2017年11月11日 15:14:36 敲代码的伪文青 阅读数:1021 标签: restful 更多 个人分类: res ...

  8. Input的size与maxlength属性的区别

    最近做项目用到input的size和maxlength属性,以前只顾用没有用心去看看这2个标签的区别,今天周末baidu了一下,有所理解.特记录于此!   <p>Name: <inp ...

  9. (转)EASYUI+MVC4通用权限管理平台

    原文地址:http://www.cnblogs.com/hn731/archive/2013/07/15/3190947.html 通用权限案例平台在经过几年的实际项目使用,并取得了不错的用户好评.在 ...

  10. do_gettimeofday使用方法

    1.简介: 在Linux中可以使用函数do_gettimeofday()函数来得到精确时间.它的精度可以达到微妙,是与C标准库中gettimeofday()用发相同的函数.在Linux内核中获得时间的 ...