强大的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)
xiaoqiang512xiaoqiang512
上一篇 2016-08-12
下一篇 2016-08-12

相关推荐

  • N26-第五周博客作业

    一、显示当前系统上root、fedora或user1用户的默认shell; [root@promote home]# grep -E ‘^(root|fedora|user1)’ /etc/passwd |cut -d : -f7 /bin/bash /bin/bash /bin/bash [root@promote home]# 注…

    Linux干货 2017-05-15
  • 第一周作业

    – 描述计算机的组成及其功能。 – 按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。 – 描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。 – 说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shu…

    Linux干货 2016-12-04
  • http协议(2.2&2.4)RPM搭建配置

    http协议(2.2&2.4)RPM搭建配置 httpd的程序环境: 主程序文件:/usr/sbin/httpd CentOS6系列(默认httpd2.2) 1)配置文件: /etc/httpd/conf/httpd.conf、  /etc/httpd/conf.d/*.conf 2)服务脚本: /etc/rc.d/init.d/…

    Linux干货 2016-10-17
  • CentOS 7和CentOS 6 使用gpg工具实现公钥加密和解密

    运行环境: [root@Shining ~]# uname -a Linux Shining.ACG 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x…

    Linux干货 2016-12-01
  • LVM

    LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux 2.4内核上实现,目前最新版本为:稳定版1.0.5,开发版 1.1.0-rc2,以及LVM2开发版。Linux用户安装Linux操作系统时遇到的一个常见的难以决定的问题就是如何正确地…

    Linux干货 2016-12-17
  • 网络管理

    1、集线器、交换机、路由器 2、路由器与交换机的主要区别体现在以下几个方面: 1)工作层次不同:最初的的交换机是工作在OSI/RM开放体系结构的数据链路层,也就是第二层,而路由器一开始就设计工作在OSI模型的网络层。由于交换机工作在OSI的第 二层(数据链路层),所以它的工作原理比较简单,而路由器工作在OSI的第三层(网络层),可得到更多的协议信息,路由器可…

    Linux干货 2016-09-08