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

        😡  保存并退出

        :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