强大的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 保存退出

               :x 保存退出 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

(0)
上一篇 2016-08-12 09:01
下一篇 2016-08-12 09:01

相关推荐

  • bash特性及bash脚本编程初步

    bash特性之命令hash 之前我们讲过用户在执行一个命令的时候bash会遍历环境变量$PATH中所有路径来查找执行文件。而命令hash是用来缓存之前用户使用过的命令下次执行的时候直接搜索hash缓存来减少对$PATH变量中路径的遍历次数,从而提高系统运行效率 hash:hash命令     hash:列出 &nbsp…

    Linux干货 2016-12-20
  • java基础篇—内存分析

    Java的并发采用的是共享内存模型(而非消息传递模型),线程之间共享程序的公共状态,线程之间通过写-读内存中的公共状态来隐式进行通信。多个线程之间是不能直接传递数据交互的,它们之间的交互只能通过共享变量来实现 同步是显式进行的。程序员必须显式指定某个方法或某段代码需要在线程之间互斥执行。 1、多线程通信 1.1 内存模型 Java线程之间的通信由Java内存…

    Linux干货 2015-03-16
  • Linux网络配置

    (1)、ifcfg家庭命令配置: ifconfig/route/netstat ifup/ifdown   (2)、ip命令配置: ip addr | route | link   (3)、修改配置文件 IP、MASK、GW、DNS相关配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE 路由相关…

    2018-01-30
  • CentOS的软件包的管理之rpm和yum

    在linux上,一个软件包通常由二进制程序,库文件,配置文件和帮助文件组成。 其中: 二进制程序一般都放在/bin,/sbin,/usr/bin,/usr/sbin,/usr/local/bin和/usr/local/sbin这几个目录下边; 库文件都放在/lib,/lib64,/usr/lib,/usr/lib64,/usr/local/lib和/usr/…

    Linux干货 2017-04-23
  • Linux 文本查看及处理工具&&用户和组管理

    1、列出当前系统上所有已登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 ~]# who | cut -d ' ' -f 1 | sort -u 2、取出最后登入到当前系统的相关信息。 ~]# last&…

    Linux干货 2016-10-05
  • Linux第七周小结

    1、创建一个10G分区,并格式为ext4文件系统 a) 要求其block大小为2048,预留空间百分比为2,卷标为MYDATA,默认挂载属性包含acl; b) 挂载至/data/madata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; 2、创建一个大小为1G的swap分区,并创建好文件系统,并启用之 3、写一个脚本 a)&…

    2017-08-13