众所周知,vi编辑器在linux中被广泛使用,而vim又是vi当中最好用的一个编辑器,所以,vim编辑器在linux中是必要掌握的重中之重的编辑器。

   那么,vim的使用都有什么特点呢,让我们好好了解一下。

vim分为三种模式:

默认模式:又称为编辑模式、命令模式

输入模式

末行模式:在编辑器的左下角

三种模式之间的作用:

默认模式:可以粘贴复制文本,删除按行、字符删除文件,可以跳转光标等

输入模式:可以文本文件、字符串文件、修改文件

末行模式:保存、退出文件,定义窗口属性:如显示文件行号,语法着色等


三种模式之间的转换:

编辑模式 --> 输入模式

                  i: insert, 实现在当前光标所在处字符前面转换为输入模式;

                  a(append 附加): append, 实现在当前光标所在处字符后面转换为输入模式;

                  o: 实现在当前光标所在行的下方新建一个空白行并转换为输入模式;

                  I: 在当前光标所在行的行首转为输入模式;

                  A: 在当前光标所在行的行尾转为输入模式;

                  O: 在当前光标所在行的上方新建一行,并转为输入模式;



输入模式 --> 编辑模式

                  按下Esc键;


编辑模式 --> 末行模式:

                  键入:


末行模式 --> 编辑模式

                  按两下:Esc, Esc


在编辑模式(默认模式)下实现光标跳转:

字符间跳转

                  h:左   j:下   k:上   l:右

                 它们可以和数字结合:5+h:向左跳转5个字符

                                     4+j:向下跳转4个行

                                     3+l:向右跳转3个字符

                                     2+k:向上跳转2个行


行间跳转:#G

                                    1G或者是gg:第一行

                                    G:最后一行

                                    5G:第五行


行内跳转:

                                   ^:非空白字符的行首

                                   $:绝对行尾

                                   0:绝对行首

在输入模式下实现光标跳转:

上下左右键


          打开文件:

                vim [options] /path/to/file,如vim /home/shao  aaa.txt


也可以一次打开多个文件

                vim  aaa.txt  1.sh  grep.txt

                     在末行模式下输入:

                               next;下一个文件

                               first:第一个文件

                               last:最后一个文件

                               prev:前一个文件

或者多个文件在同一个平面上面显示

                 vim -O[o] abc 1.sh grep.txt ,

                     -o:表示水平分割

                     -O:表示垂直分割

                     ctrl+w,上下左右箭头:表示窗口间切换

                          如:vim -o 11.sh 12.sh 13.sh

012603590.png


在编辑模式下删除字符:

             在光标所在处:

                  按x:删除一个字符

                  #x:删除#个字符

                  dd:删除一行

                  #dd:删除#行

在末行模式下删除使用d字符:

              格式: 起始地址,结束地址

                     .:表示光标所在地

                     $:最后一行

                     %:全文            

                         如:1,7d:从第1行到第7行删除

013500486.png

                             .,+7d:从光标所在处向下再删7行,总共删了8行

014006526.png

                             1,$d:从第一行到最后一行都删除

                             %d  :全文删除

                             .,-7:从光标所在处向上再删7行,总共删了8行

撤销删除或者更改模式:编辑模式下

                     u:撤销删除的命令一次,最多可以撤销50次,u可逐一操作

                     U:撤销所有的删除命令

                     ctrl+r:撤销时又想删除刚撤销的字符,按ctrl+r


文件的复制模式:只能在编辑模式下进行

                     yy:复制在光标所在处的一行

                     #yy:复制在光标所在处向下#行

                     y$;从光标所在处到行尾

                     y^:从光标所在处到字符行首

                     y0:从光标所在处到行首

                              注意:y^表示到字符行首,有空白符不算

                                    y0表示到非字符行首,到光标所在处的第一个字符


文件的粘贴模式:只能在编辑模式下进行

当复制的是整行的时候

                     p(小写p):在当前光标所在处字符的下方粘贴

                     P(大写P);在当前光标所在处字符的前方粘贴

当复制的不是整行时:

                     p(小写):在当前光标所在处字符的后方粘贴

                     P(大写):在当前光标所在处字符的前方粘贴

文件翻屏:只能在编辑模式下进行

                     ctrl +f(forward):向文件尾部翻一屏

                     ctrl +b(backward): 向文件首部翻一屏

                     ctrl +d(down):向文件尾部部翻半屏

                     ctrl +u(up):向文件首部翻半屏

文本搜索功能:只能在末行模式下进行

                     /keyword 从当前光标所在处向文件尾部查找

                     ?keyword 从当前光标所在处向文件首部查找

                             如:搜索字符中的“root”字符串

015956644.png

                              或者

020114679.png

                              n:下一个关键字查看,跟查找命令相同的方向

                              N:前一个关键字查看,跟查找命令相反的方向  


同一文档窗口分割:

                        Ctrl+w,s :水平分割

                        Ctrl+w,v;垂直分割

                        Ctrl+w,箭头:窗口转化

                                   如:要求多个窗口打开一个11.sh文档

020658279.png


窗口属性定义:在末行模式下进行

显示行号;

                     set number:显示行号--set nu(命令缩写)

                     set nonumber:不显示行号--setnonu(命令缩写)

                              如:显示行号

021153804.png

显示匹配的括号:

                     set showmatch,set sm(缩写)

                     set nosm(缩写)

021419347.png

语法着色:

                      sytax on

                      sytax off              

021825156.png

       当然,提示一下,窗口属性定义只能在当前的vim中使用,如果退出vim之后,再重新登录,

              就会显示原有的属性。              

想要保存窗口属性的更改:

vim的配置文件:

                 全局:/etc/vimrc     》》全部用户登录都有效

                 个人:./.vimrc       》》只有在本地用户登录才有效

                                如:我要保留更改窗口的显示行号

                     vim /etc/vimrc

022502695.png

     好了,vim的使用方法基本上也就这么多了,希望大家多多分享探讨大家总结过的Linux的各种

         知识。j_0028.gif