#3 Linux全屏文本编辑器vi(vim)的使用

全屏文本编辑器:在Linux里是默认的编辑器

vi:visual interface,S.U.N(斯坦图大学网络研究中心)公司的bill joy(比尔乔伊)主持开发的

vim:vi improved(vi的升级版)

模式化编辑器:

  编辑模式(命令模式)-->默认的工作模式

  末行模式-->

  插入模式(输入模式)-->

  替换模式-->

  可视化模式 -->

 

一、vi/vim的打开方式:

   1.vi/vim:打开vi/vim的界面

   2.vim file :file存在,则打开并将光标默认放置在第一行第一个字符;

               file不存在,则以新文件的方式打开,若保存,则文件被创建;若不保存,文件消失;

   3.vim + # file:指定在打开文件的时候,将光标定位在第#行行首;如果定位的行数比整个文档的行还要打,则光标停留在最后一行的行首;

   4.vim + file:直接将光标定位在文档的最后一行行首;

   5.vim +/pattern/(模式匹配符):打开文件,并且将光标定位至首次被pattern匹配的行的行首位置:即只完成首次匹配。

 

二、vim的关闭方式:

   末行模式的关闭:

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

     q!强制退出但不予保存;

     w保存修改的内容;

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

     wq!对于root用户来说,一些只读文件的修改可以强制保存并推出;

     w!强制保存

   编辑模式的关闭:

   ZZ:保存并退出;

   ZQ:不保存退出;

     

三、在vim的编辑模式中。移动光标;

   1.逐字符移动

     1)arrow

     2)h:光标向左

        j:光标向下

        k:光标向上

        l:光标向右

   

   2.逐字移动

      w将光标移动到下一个字的字首;(两个单词之间有空格算一个字)

      e:将光标移动到下一个字的字尾;

      b:将光标移动到上一个次的字首;

   3.行内跳转:

      0(零):绝对行首;将光标移动到行首位置

      ^:相对行首;将光标移动到非空白字符行首位置

      $:绝对行为;将光标移动到行尾位置

   4.行间跳转:

     #G:直接将光标移动至#行;

      G:直接将光标移动到文档的最后一行;

     gg:直接将光标移动至第一行

   

末行模式中光标移动:

        # 直接将光标移动至第#行;

        1 直接将光标移动至第一行;

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

 

四、翻屏

   Ctrl+f:向下翻一屏

   Ctrl+b:向上翻一屏

   Ctrl+d:向下翻半屏

   Ctrl+u:向上翻半屏

 

五、逐字符删除:

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

X:删除光标所在位置左侧的单个字符;

 

 

六、编辑模式中的万能删除命令;

     d删除光标经过的所有内容;

    dh、dj、dk、dl、darrow、dw、de、de、dG、dgg

dd:删除光标所在行;

 

在末行模式下:

        :d:删除光标所在行

        #d:删除第#行

        m,+nd:删除从m行开始,再经过n行的所有行;

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

        :.,$d:删除从光标所在行到文档的最后一行;

             .:表示当前光标所在行;

             $:文档的最后一行

 

七、编辑模式中的万能粘贴命令:

        p(小写):向右向下进行粘贴;

        P(大写):向左向上进行粘贴;

        末行模式下:

        p

 

八、编辑模式中的万能复制命令:

     y:复制光标经过的所有内容;

     用法与d命令相同

    yy:复制光标所在行

    

九、模式的切换:

   1.从编辑模式到末行模式:

     :输入命令

     /和?进行查找, n和N,n表示顺序查找,N表示逆序查找;

     /:自上而下

     ?:自下而上    

   2.从末行模式到编辑模式;

      ECS键

      Enter键

      Backspace键

   3.从编辑魔术到输入模式;

       I:将光标移动至行首并进入输入模式;

       i:在光标所在位置的前面插入字符;

       A:将光标移动至行尾并进入输出模式;

       a:在光标所在位置的后面插入字符

       O:在光标所在行的上面插入新行;

       o:在光标所在行的下面插入新行;

      Cc:删除整行内容之后,进入输入模式;

       C:从光标所在位置删除至行尾,进入输入模式;

       s:删除光标所在位置的一个字符,进入输入模式;

       S:删除整行内容之后,进入输入模式;

4.从输入模式到编辑模式:

       ECS键

    5.从编辑模式到替换模式:

        R:进入替换模式

6.从替换模式到编辑模式:

   ECS键

7.从编辑模式到可视化模式:

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

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

          在选取之后可以执行复制或删除的操作;

          只要完成操作,就返回到编辑模式;

所有的模式切换必须经由编辑模式,两种非编辑模式之间无法直接进行切换;

十、替换命令

  r:替换光标所在位置的一个字符;

 

十一、撤销编辑操作

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

   Ctrl+r:撤销最近的一次撤销操作;

 

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

        .:重复之前的一次编辑操作:

 

十三、特殊的末行命令:

  1.显示和取消行编号:

   set number --> :set nu

   set nonumber --> :set nonu

  2.开启或关闭字符大小写:

   set ignorecase --> :set ic

   set noignorecase --> :set noic

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

   set autoindent --> :set ai

   set noautoindent --> :set noai

  4.开启或关闭查找高亮显示:

   set hlsearch

   set nohlsearch --> :set nohl

  5.开启或关闭语法着色

   syntax on

   syntax off

 

十四、Vimtutor

 

十五、使用vim编辑多个文件

   1)vim file1 file2 file3 ...

          :next   查看或编辑后一个文档的内容

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

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

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

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

       -o:水平分屏显示多个文件

       -O:垂直分屏显示多个文件

       Ctrl+w,ARROW(箭头)

       #Ctrl+w,ARROW(箭头)

       #Ctrl+w,s  将一个文件水平分屏显示

       #Ctrl+w,v  将一个文件垂直分屏显示

       :qa(q all 退出所有)

       :wa(w all 保存所有)

十六、将其他文件中的内容填充至当前文件中

       :r /PATH/TO/SOMEFILE      

十七、跟shell交互

       :!COMMAND(直接打开shell执行命令,enter退出)

十八、部分另存为

       :w /PATH/TO/SOMEFILE 

       :m,nu /PATH/TO/SOMEFILE

       :m,+nw

       :.,$w


本文转自谁等了谁 51CTO博客,原文链接:http://blog.51cto.com/12486569/1906603

上一篇:java线程池使用


下一篇:jenkins+SonarQube6.2代码质量管理平台安装与使用