Vi基本命令

    *i ----    在当前光标的的所在位置,插入随后输入的文本,光标后的文本相应向右移动

    *I ----   在光标所在行的行首插入随后输入的文本,行首是该行的第一个非空白字符,相当于光标移动到行首再执行i命令

    *a ---    在当前光标所在位置之后,插入随后输入的文本

    *A ---    在光标所在行的行尾添加随后输入的文本,相当于光标移动到行尾再执行a命令

    *o ---    在光标所在行的下面插入新的一行,光标停在空行的行首,等待输入文本

    *O ---    在光标所在行的上面插入新的一行,光标停在空行的行首,等待输入文本

    *h,j,k,l   h:向左   j:向下   k:向上  l:向右

    *w ---   以单词为单位移动

    * $ ---   将光标移动到行尾, 0:将光标移动到行尾  n$:将光标移动到当前光标所在行的之后n行的行尾

    *fa ---   将光标移动到该行的字符a处

    *% ---   查找匹配符号的命令

    *nG ---- 将光标快速的定位到指定的行处

    *在vi的一般模式中输入"/要查找的字符串",再按回车键,那么就可以从当前的游标处开始向后查找指定的字符串,如果是向前查找,那么只需要输入“?”,回车即可。

   /root    在文件中向后查找root字符串

         ? root  在文件中向前查找字符串

         /^root  要查找一个以root为行首的行

        /root$   要查找一个以root为行尾的行

  

  使用vi进行替换:

    命令格式为:  :替换起始处,替换结束处  s/要被替换的字符串/替换的字符串/g

    如果不加g的话,那么只替换每行第一个找到的字符串

    如命令:   :1,$  s/:/,/g  表示将文件中的所有的“:”改为“,”

 

   使用vi进行删除、粘贴和复制

   d:   命令模式下的该命令可以删除光标以后的单个字符

   dd:命令模式下的该命令可以删除整行

   10dd:连续删掉10行

   yy:复制一行,并用p来粘贴复制的内容

   u:可以通过该命令来撤销刚才执行的命令,如果撤销过多的话,可以通过使用“Ctrl + r”来重新执行刚才的操作

 

   vi保存退出命令

   w:保存不退出

   q:不保存退出

   !:强制性操作

   wq:保存并且退出

   w!:强制保存

   q!:强制退出


在命令模式下:

   输入:set nu 可显示每一行的行号,如果想要去掉行号的话输入:set nonu即可


多窗口编辑

   在编辑一个文件file1时,需要参考file2文件,此时可以先使用vi打开第一个文件,接着在命令模式中输入:sp /file2, 然后按回车键,此时如果想回到上一个编辑

窗口,可以先"ctrl + w"键,在按"k"键使游标来到上面窗口中,若想编辑下一个窗口,可以先“ctrl + w”键,再按"j"键使游标来到上面窗口中

   如果想将其中一个文件的内容全部复制到另一个文件中,则可以在命令模式中输入":r  被复制的文件名", 这样就实现了文件内容的全部复制


区域复制:先使用vi打开file文件,将游标移动到需要复制的第一行处,此时处于一般模式下,然后按下"ctrl + v"键,这样底部状态栏出现"VIRTUAL BLOCK", 这时

就可以使用上下左右方向键进行区域的选取了,当全部选完后,按下“Y”键,然后将游标移动到目标位置处,按下p键即可完成区域复制。