vim编辑器

回顾:

    正则表达式(BRE, ERE)

    BRE:字符匹配:., [], [^]

    次数匹配:*,\?,\+,\{m\},\{m,n}

    位置锚定:^,$,\<,\>

    分组及引用:(),\1,\2,……

     ERE:

     字符匹配:.,[],[^],

     次数匹配:*,\?,\+,\{m\},\{m,n}

     位置锚定:^,$,\<,\>

     分组及引用:(),\1,\2,…..

     或者:|

        grep, egrep, fgrep

         文本过滤器: PATTERN

        -v,-o,-l,-q,-A,-B,-C

        wc, cut, sort, uniq, diff, patch

 

  vim 编辑器

      文本编辑器:

      文本:纯文本,ASCII text; Unicode,

  文本编辑种类:

     行编辑器:sed

     全屏编辑器:nano,vi

        

       vi: Visual Interface

       vim: VI Mproved

   vim:

        模式的编辑器

        基本模式:

        编辑模式,命令模式

        输入模式

        末行模式:

        内置的命令行接口;

  打开文件:

       #vim[options] [file…]

       +#:打开文件后,直接让光标处于低#行的行首:

       +/PATTERN: 打开文件后,直接让光标出于第一个被PATTERN匹配到的行的行首;

  模式转换:

       编辑模式:默认模式

       编辑模式–>输出模式;

       i: insert,在光标所在处输入

       a:append,在光标所在处后方输入;

       o:在光标所在处下方打开的一个新行

       I: 在光标所在行的行首输入;

       A:在光标所在行的行尾输入;

       O:在光标所在处的上方打开一个新行;

       输入模式 –>编辑模式

        ESC

       编辑模式–.>末行模式

       :  冒号

      末行模式–>编辑模式

        ESC

   关闭文件:

       ZZ:保存并退出

        :q 退出

        :q! 强制退出,不保存此前的编辑操作

        :wq 保存并退出

        :w.:q

        :x  保存并退出

        :w /PATH/TO/SOMEFILE

    光标跳转:

        字符间跳转

        h,l, 左右

        j,k  上下

  #COMMAND:跳转有#指定的个数的字符;

       单词间跳转

       W:下一个单词的词首;

       e:当前或后一个单词的词首;

       #COMMAND: 跳转由#指定的个数的单词

       行首行尾跳转

       ^:跳转至行首的第一个非空白字符;

       0:跳转至行首;

       $:跳转至行尾;

       

       行间跳转

       #G:跳转至指定#行的位置;

       1G,gg: 第一行;

       G:最后一行;

       句间跳转 

            )

             (

      段间跳转

             }

               {

    翻屏:Ctrl+f: 向文件尾翻一屏

            Ctrl+b: 向文件首部翻一屏

            Ctrl+d: 向文件尾部翻半屏

            Ctrl+u:向文件首部翻半屏

            Enter: 按行向后翻

   vim的编辑命令:

       字符编辑

       x: 删除光标所在处的字符;

       #x:删除光标所在处的字符;

       xp:交换光标所在处的字符与其后面的字符的位置;

       替换命令(replace):

       r: 替换光标所在处的字符:

       rCHAR      


       删除命令;

       d:删除命令,可结合光标跳转字符,实现范围删除;

       d$:

       d^:

       dw:

       de:

       db:

       #COMMAND

       dd:删除光标所在处的行;

       #dd:删除光标所在处的行起始的共#行;

       粘贴命令(p,put,paste);

       P:缓冲去中的内容如果为整行,则粘贴在当前光标所在行的下方;否则,则粘贴至当前光标所在处的后方;                      

       p::缓冲去中的内容如果为整行,则粘贴在当前光标所在行的上方;否则,则粘贴至当前光标所在处的前方;


       复制命令(yank, y):

          y:复制,工作行为相似于d命令;

          y$

          y^

          yo(零)

          ye

          yw

          yb

          COMANND

          yy:复制一整行

          #yy:复制#行

     改变命令(chang,c):

         编辑模式—>输入模式,实现删除操作;

          c$

          c^

          c0

          ce

          cw

          #COMMAND

          cc: 删除光标所在的行,并转换为输出模式;

          #cc:

     可视化模式:

        v:按字符选定;

        V:按行选定;

        结合编辑命令使用:d,c,y

    撤销(undou)操作:

         u: 撤销此前的操作;

         #U : 撤销此前的#个操作;

撤销此前的撤销:

      Ctrl+r

vim自带练习教程:vimtutor

原创文章,作者:shadow,如若转载,请注明出处:http://www.178linux.com/64539

(0)
shadowshadow
上一篇 2016-12-23 01:09
下一篇 2016-12-23 01:26

相关推荐

  • Linux系统下的翻译神器——Goldendict

    Linux系统下的翻译神器——Goldendict 学习Linux时明显感受到学习英文的重要性。绝大多数Linux的发行版英文版的功能要远强于中文。因此一款好的翻译软件是了解熟悉Linux系统的必需品。在Windows系统下有各种好用的词典程序,包括有道词典、bing词典、金山词霸等等,而这些软件都不能在linux下使用,即使能够使用也只是测试版,功能太少。…

    Linux干货 2017-04-24
  • DNS服务与bind配置

    DNS服务   DNS: Domain Name Service,协议   BIND:Bekerley Internat Name Domain, ISC (www.isc.org)   本地名称解析配置文件:hosts           linux:/et…

    Linux干货 2016-09-26
  • Lvm的创建

    一、LVM相关基础:     PE:类似与磁盘的block,这个的大小也会影响VG的大小     PV:是磁盘分区或逻辑上与磁盘分区具有相同功能的设备(RAID),是LVM的基本存储模块,但与基本的物理存储模块相比,却包含有lvm相关的参数     VG:类似于非lvm系统中的物理磁盘,包含多个pv     LV:类似于非lvm系统中的磁盘分区   PV相关…

    2016-04-10
  • 4、文件通配和权限

    http://note.youdao.com/yws/public/redirect/share?id=bc0a93cca15963ed8490649892b2c31d&type=false

    Linux干货 2016-08-08
  • AWK学习总结

    AWK是一种优良的文本处理工具。其名称得自于它的创始人阿尔佛雷德·艾侯、彼得·温伯格和布莱恩·柯林汉姓氏的首个字母。AWK提供了极其强大的功能:可以进行正则表达式的匹配,样式装入、流控制、数学运算符、进程控制语句甚至于内置的变量和函数。它具备了一个完整的语言所应具有的几乎所有精美特性。 AWK学习总结 函数rand(): 函数length() 函数int()…

    Linux干货 2016-12-03
  • varnish详解

      第一章    http缓存的基础概念 1、程序运行时具有局部性特征 时间局部性缓存的数据往往被打有时间缀,具有定期失效的特征,过期后会从源服务器检验请求验证是否需要重新拉取数据,某数据被访问后,该数据往往会再次在短时间内被访问到。 空间局部性被访问数据的周边数据被访问的概率会比其它常规数据访问大很多,所以这些访问数…

    Linux干货 2016-11-15