码迷,mamicode.com
首页 > 系统相关 > 详细

关于Linux中默认文本编辑工具vi/vim

时间:2017-10-26 15:30:46      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:linux中的vim

vi编辑器:全屏的文本编辑器

   vi:visual interface,可视化接口; 

     S.U.N:Bill Joy创始人 ,主持研发vi,sparc,SunOS(Solaris)


    vim:vi IMproved,vi的升级版


    vim相对于vi有更多的新特性;

      1、语法着色显示;

      2、更多的命令;

      3、历史记录;


   vi:模式化文本编辑器

     模式:

       编辑模式(命令模式),默认工作模式;

       插入模式(输入模式),文本信息的自由编辑;在整个编辑器的左下角有“Insert”标记;

       ex模式(末行模式),对于编辑器本身某些属性和功能的设定;也可以进行文本的编辑操作;


       其他辅助模式:

         替换模式:输入的信息直接替换光标所在位置的内容;

         可视化模式:类似于在windows里操作一些文本文档,用键盘代替鼠标的方式来操作;






   vi/vim的操作:

      一、打开vi/vim操作界面:

        1、vi/vim命令:

                  直接输入vim命令后,

                   技术分享

                       

        2、vim  file;

           技术分享

            1)file存在,就直接使用vim编辑器打开此文件,默认是将光标放置于该文件的起始位置,即:第一行的第一个字符;

            2)file不存在,就直接以新建文件的方式打开;若执行保存命令,则文件会被写入磁盘;若不保存,则文件会消失;

        3、vim +# file:

          技术分享

         技术分享(There is  ...之后的内容在这里是全为一行,上面提到过原因)

           在打开指定文件时,将光标直接定位在文件的第#行的行首;如果给定的数字比文件的行数要大,则光标直接停留在最后一行的行首

 技术分享

           技术分享

                     (There is  ...之后的内容在这里是全为一行,上面提到过原因)

        4、vim +  file:

            在打开指定文件时,将光标直接定位文件的最后一行的行首

            技术分享            (There is  ...之后的内容在这里是全为一行,上面提到过原因)

        5、vim +/PATTERN/:

            在打开指定文件时,将光标直接定位在首次被PATTERN匹配到的行的行首

             

    技术分享

    技术分享

      技术分享

               


      二、关闭vi/vim的操作界面:

        ex模式中的操作:

          :q    :直接关闭vim编辑器,不保存修改内容;

          :q!   : 直接关闭vim编辑器,强制退出但是不保存修改的内容;

          :wq   :保存已修改的内容,并关闭vim编辑器;

          :wq!  : 对于无权更改的文件强制保存,并且在强制保存之后强制关闭vim编辑器

                       技术分享

 


   编辑模式(按住shift键直接+ZZ 或者ZQ )的操作:

          ZZ:保存并关闭vim编辑器;

          ZQ:不保存已经修改的内容,直接关闭vim编辑器;


      三、在vim的编辑模式中,光标的移动方式:

          编辑模式中的光标移动操作:

           1、逐字符移动:

             1)Left Arrow(左箭头) 或者 Right Arrow(右箭头)

             2)H键:光标向左移动;

                   L键:光标向右移动;

                   J键:光标向下移动;

                   K键:光标向上移动;

           2、逐字移动:

             w:移动光标至下一个字的字首;

             e:移动光标至当前字或下一个字的字尾;

             b:移动光标至前一个字的字首;

           3、行内光标跳转:

             0:绝对行首;

             ^: 相对行首;

             $: 绝对行尾;

           4、行间跳转:

             1)Up  Arrow 或者Down Arrow;

             2)j:向下移动一行;

                  k:向上移动一行;

             3)#G:直接将光标移动至第#行行首;

     4)G:将光标移动至文档的最后一行;

             5)gg:直接将光标移动至文档的第一行;

          ex模式中的光标移动:

           :# :直接将光标移动至指定行号“#”的行首;

           :1 :直接将光标移动至文档的第一行的行首;

           :$ :直接将光标移动至文档的最后一行的行首;


      四、翻页

          PageDown 或者PageUp 可以实现翻页;

          ^+f:向下翻一页,向前翻一页,相当于Pgdn

          ^+b:向上翻一页,向后翻一页,相当于Pgup;

          ^+d:向下翻半页;

          ^+u:向上翻半页;


      五、删除字符:

         编辑模式中的操作:

          1、逐字符删除:

           x:删除光标所在位置的字符;

           X(大写): 删除光标所在位置的左侧的一个字符;

          2、删除光标移动过程中经过的所有内容:

           d:删除光标移动过程中经过的所有内容;


     dh,dl,dj,dArrow,dw,de,db,dG,dgg

             dd:删除当前光标所在行;

         ex模式中的操作:

           :d  :删除光标所在行;相当于:.d ,其中“.”指的是当前行;

           :#d :删除第#行;

           :m,nd :删除从第m行开始,到第n行结束中间的所有行;

           :m,+nd :删除从第m行开始,及其后面n行的内容;

           :.,+nd :删除从当前光标所在行开始,及其后面n行的内容;

           :.,$d  :删除从当前光标所在行开始,到文档末尾的所有内容;


         注意:在vim的操作中,所有的删除操作,都可以放到别的位置,相当于剪切。


      六、复制命令

        编辑模式中的操作:

          y:复制光标移动过程中经过的所有内容;


          yh,yl,yg,yk,yArrow,yw,ye,yb,yG,ygg,y0,y$,y^

          yy:复制当前光标所在行;

        ex模式中的操作:

          :y  :复制光标所在行;相当于:.d ,其中“.”指的是当前行;

          :#y :复制第#行;

          :m,ny :复制从第m行开始,到第n行结束中间的所有行;

          :m,+ny :复制从第m行开始,及其后面n行的内容;

          :.,+ny :复制从当前光标所在行开始,及其后面n行的内容;

    :.,$y  :复制从当前光标所在行开始,到文档末尾的所有内容;


      七、粘贴命令:

         编辑模式中的操作:

          p(小写):如果是行内的复制或剪切操作,在光标右侧完成粘贴;如果是多行的复制或剪切操作,在光标的下方完成粘贴;

          P(大写):如果是行内的复制或剪切操作,在光标左侧完成粘贴;如果是多行的复制或剪切操作,在光标的上方完成粘贴;

         ex模式中的操作:

          :p


      八、模式切换(重要):

         编辑模式(命令模式)被称为vi编辑器的基础工作模式;所有其他模式之间切换的中转站


          1、编辑模式--->ex模式;

            ":" :表示进入ex模式并完成命令的执行;

            "/"或"?" :开启ex模式中的匹配查找功能;

              /默认是自上而下的查找顺序;

              ?默认是自下而上的查找顺序;


              n和N命令在各个匹配的关键字之间跳转;

               n:顺序查找;

               N: 倒序查找;


    2、ex模式--->编辑模式:

            双击Esc键;

            Enter键;

            Backspace;


          3、编辑模式--->输入模式(插入模式):

            i,I,a,A,o,O,s,S,C,cc

            i:在光标所在位置的左侧开始输入;

            I:在行首开始输入;

            a:在光标所在位置的右侧开始输入;

            A:在行尾开始输入;

            o:在当前光标所在行的下方插入新的一行;

            O:在当前光标所在行的上方插入新的一行;

            s:删除光标所在位置的字符,在光标左侧插入;

            S:删除光标所在行,在行首开始输入;

            C:删除光标所在位置直到行尾,并且在行尾开始输入;

            cc:相当于S命令;


          4、输入模式--->编辑模式:

             Esc键


          5、编辑模式--->替换模式:

             R:进入替换模式


          6、替换模式--->编辑模式:

     Esc键


          7、编辑模式--->可视化模式;

             v:按照字符为单位进行矩形选取;

             V:按照行为单位进行矩形选取;


             注意:

              1)在选取完成后,可以使用d命令进行删除,也可以使用d命令进行复制;

              2)只要选取完成,即立刻返回编辑模式;



         注意:所有的其他模式都只能和编辑模式相互切换;如果两种非编辑模式之间试图切换,必须经过编辑模式,否则无法完成。



      九、替换命令:

          r:不进入输入模式而替换光标所在位置的字符


      十、撤销命令:

          U:撤销当前行内的操作;

          u:撤销此前的一次编辑操作;


          ^+r:撤销最后一次被撤销的操作;

     

  十一、重复之前的一次编辑操作;

             “ . ”


      十二、打开多文档编辑:

           1、vim file1 file2 file3

             :next 查看或编辑下一个文档

             :prev 查看或编辑前一个文档

             :first 查看或编辑第一个文档

             :last 查看或编辑最后一个文档


           2、vim -o | -O file1 file2 file3 ...

              -o:水平打开多个窗口;

              技术分享

                ^+w,up arrow | down arrow :在多个窗口间切换

              -O:垂直打开多个窗口;

                  技术分享

                ^+w,left arrow | right arrow :在多个窗口间切换


      十三、ex模式中的常用命令:

           1、显示和取消行的编号:

             :set number(简写为:set nu)

             :set nonumber(简写为:set nonu)


           2、开启或关闭字符大小写的敏感度:

             :set ignorecase(简写为set ig)

             :set noignorecase(简写为set noic)

         

           3、开启或关闭自动缩进功能:

             :set autoindent(简写为:set ai)

             :set noautoindent(简写为:set noai)


           4、开启或关闭语法着色功能:

             :syntax on

             :syntax off


           5、开启或关闭查找高亮显示:

             :set hlsearch

             :set nohlsearch(简写为:set nohl)


           6、另存为:

             :w /path/to/somewhere  (如果不添加路径,就会保存到原路径)

             :m,nw /path/to/somewhere (从m行到n行内的内容另存为...)


           7、从其他文件直接读取内容并添加到当前文件中:

             :r /path/from/somewhere


           8、调用shell命令,或者是与shell交互:

             :!COMMAND

             交互后按回车返回vim界面


  十四、vimtutor

           Linux内置更详细的vim/vi教程

            技术分享

            


关于Linux中默认文本编辑工具vi/vim

标签:linux中的vim

原文地址:http://chenliangdeeper.blog.51cto.com/13279176/1976307

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!