强大的vim编辑器

vim编辑器

一、Vim编译器的概述

vi: Visual Interface,文本编辑器 v

文本:ASCII, Unicode v

 文本编辑种类:

     行编辑器: sed

     全屏编辑器:nano,

     vi vim – Vi Improved v

其他编辑器:

     gedit 一个简单的图形编辑器

     gvim 一个Vim编辑器的图形版本

 

 

二、打开文件方式

v  # vim [OPTION]… FILE…

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

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

       vim + file 直接打开file,光标在最后一行

       vim –b file 二进制方式打开文件

       vim –d file1 file2…  比较多个文件

       vim  -m file  只读打开文件

vex  file 或 vim –e  直接进入ex模式 v

 如果该文件存在,文件被打开并显示内容

如果该文件不存在,当编辑后第一次存盘时创建它

 

 

三、vim:一个模式编辑器 v

     击键行为是依赖于 vim的 的“模式” v

     三种主要模式:

                 命令模式(默认):移动光标,剪切/粘贴文本

                 插入(编辑)模式:修改文本

                 扩展命令模式:保存,退出等 v

                 Esc键 退出当前模式 v

                 Esc键 Esc键 总是返回到命令模式

 

四、模式转换

v  命令模式 –> 插入模式

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

        I:在当前光标所在行的行首输入

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

        A:在当前光标所在行的行尾输入

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

        O:在当前光标所在行的上方打开一个新行

 

           插入模式 —-> 命令模式

                    ESC v

           命令模式 —-> 扩展模式

                     : v

           扩展模式 —-> 命令模式

                     ESC v

           锁定和解锁:CTRL+s,Ctrl+q

 

五、关闭命令

       扩展模式:

               :q 退出

               :q! 强制退出,丢弃做出的修改

               :wq 保存退出

               😡 保存退出 v

       命令模式 :

               ZZ: 保存退出

               ZQ:不保存退出

 

六、扩展模式

v     按“:”进入Ex模式 v

       创建一个命令提示符:,处于底部的屏幕左侧 v

       命令:

            w 写(存)磁盘文件

            wq 写入并退出 x 写入并退出

            q  退出

            q! 不存盘退出,即使更改都将丢失

            r filename 读文件内容到当前文件中

            w  filename  将当前文件内容写入另一个文件

            !command

            r!Command

 

、命令模式光标跳转

       字符间跳转:

                  h: 左

                  l: 右

                  j: 下

                  k: 上

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

       单词间跳转:

                  w:下一个单词的词首

                  e:当前或下一单词的词尾

                  b:当前或前一个单词的词首

                  #COMMAND:由#指定一次跳转的单词数 v

        当前页跳转:

                   H:页首

                   M:页中间行

                   L:页底

v      行首行尾跳转:

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

                   0: 跳转至行首

                   $: 跳转至行尾 v

        行间移动:

                 #G、扩展模式:# :跳转至由#指定行

                  G:最后一行

                  1G, gg: 第一行 v

        句间移动:

                 ):下一句 (:上一句 v

        段落间移动:

                  }:下一段 {:上一段

 

八、命令模式翻屏操作

 

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

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

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

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

 

九、命令模式操作

      字符编辑:

              x: 删除光标处的字符;

             #x: 删除光标处起始的#个字符

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

              ~:转换大小写

v    替换命令(r, replace)

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

              R:切换成REPLACE模式

      删除命令:

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

             d$: 删除到行尾

             d^:删除到非空行首

             d0:删除到行首

             dw:

             de:

             db: #COMMAND v

        dd: 删除光标所在的行

            #dd:多行删除 v

              D:从当前光标位置一直删除到行尾,留空行,等同于d$

      复制命令(y, yank):

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

              y$

              y0

              y^

              Ye

              yw

              yb

              #COMMAND v

              yy:复制行

             #yy: 复制多行 v

               Y: 复制整行

       粘贴命令(p, paste):

                p:缓冲区存的如果为整行,则粘贴当前光标所在行的下 方;否则,则粘贴至当前光标所在处的后面

                P:缓冲区存的如果为整行,则粘贴当前光标所在行的上 方;否则,则粘贴至当前光标所在处的前面

        改变命令(c, change)

                c: 修改后切换成插入模式 v

命令模式 –> 插入模式

            c$

            c^

            c0

            Cb

            ce

            Cw

            #COMMAND v

 cc:删除当前行并输入新内容

           #cc: v

  C:删除当前光标到行尾,并切换成插入模式

 

 

十、扩展模式:查找并替换

v   s: 在扩展模式下完成查找替换操作

         格式:s/要查找的内容/替换为的内容/修饰符

         要查找的内容:可使用模式

         替换为的内容:不能使用模式,但可以使用\1, \2, … 等后向引用符号;还可以使用“&”引用前面查找时查找到的整 个内容

         修饰符:

         i: 忽略大小写

         g: 全局替换;默认情况下,每一行只替换第一次出现

        gc:全局替换,每次替换前询问 v

查找替换中的分隔符/可替换为其它字符,例如

 s@/etc@/var@g

 s#/boot#/#i

 

十一、命令模式:撤消更改

v   u撤销最近的更改 v

#u撤销之前多次更改 v

U 撤消光标落在这行后所有此行的更改 v

 按Ctrl – r重做最后的“撤消”更改

v. 重复前一个操作 v

n.重复前一个操作n次

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