强大的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 09:01
下一篇 2016-08-12 09:01

相关推荐

  • rpm包管理(二)

    查询查询库文件包查询[select-options][query-options]licdR常用的查询用法:卸载:二进制文件的恢复包效验使用rpm命令导入公钥(KEY文件)验证rpm包来源(光盘)的来源及完整性检查包安装后生成的文件,是否发生过变动RPM包管理器的数据库如果某个rpm相关内容被删除如果rpm命令的包被删除了信息库被删除了删除/usr/bin下…

    Linux干货 2016-09-19
  • 马哥教育网络21期+第十一周练习博客(下)

    马哥教育网络21期+第十一周练习博客(下) 3、描述DNS查询过程以及DNS服务器类别。 DNS:Domain Name Service 通俗的称为地址解析,使用TCP和UDP的53端口,是属于应用层的协议; DNS查询有2种方式:     递归查询:至发送一次请求,就能找到最终的结果的查…

    Linux干货 2016-09-26
  • 分布式文件系统MogileFS

    1、分布式系统的目标:加强A、P,在C上进行妥协     BASE模型 CAP理论: C:Consistency(一致性)  任何一个读操作总是能够读取之前完成的写操作。 A:Availability(可用性) 每一次操作总是能够在确定的时间返回。 P: Partition Tolerance ( 分区容错性 )   在出现网络分区的情况下,仍然能够满足一致…

    2017-11-23
  • 游戏运维工程师

    爱乐盟互动为深圳市政府评定的深圳市重点文化企业,同时为广东省高科技产业商会常务理事单位,注册资金人民币1000万元。公司的原创大型MMORPG网游《王者传说2》为深圳市政府重点支持的网游项目,《王者传说2》将全面领先于国内的同类产品,成为业界新标准的重要网游产品!! 《王者传说2》已进入产品研发的重要阶段。除《王者传说2》,爱乐盟也已经启动了数款全新大型网游…

    Linux干货 2016-10-19
  • M22 使用非对称密钥实现ssh自动登陆

    一 实验目的 一般在用户使用ssh客户端登陆ssh服务器时需要使用用户名和密码,本实验使用非对称加密的方式实现了无密码登陆ssh服务器。 二 实验流程  、 1 在客户端生成非对称密钥对 2 将非对称密钥中的公钥发送给ssh服务器端相应的帐号 3 当客户端通过ssh协议与服务器端发起连接时,客户端将私钥加密过的签名发送给服务器端,服务器端使用客户端…

    2017-04-13
  • Linux 基础 (1)

    su nano shell type hash alias date cal screen echo $ tab (df bc rz(sz) ifconfig ping tty who whoami w) 1.用户  root为超级用户 1) useradd oracle  创建一个oracle用户     su &#…

    2017-07-13