首页 > 代码库 > vi 技巧

vi 技巧

 

a. 进入输入模式 
    新增 (append) 
    a :从光标所在位置後面开始新增资料,光标後的资料随新增资料向後移动。 
    A:从光标所在列最後面的地方开始新增资料。 

   插入 (insert) 
    i:从光标所在位置前面开始插入资料,光标後的资料随新增资料向後移动。 
    I :从光标所在列的第一个非空白字元前面开始插入资料。 

    开始 (open) 
    o :在光标所在列下新增一列并进入输入模式。 
    O: 在光标所在列上方新增一列并进入输入模式。


b. 退出vi 
在指令模式下键入:q,:q!,:wq或:x(注意:号),就会退出vi。其中:wq和:x是存盘退出,而:q是直接退出,如果文件已有新的变化,vi会提示你保存文件而:q命令也会失效,这时你可以用:w命令保存文件后再用:q 退出,或用:wq或:x命令退出,如果你不想保存改变后的文件,你就需要用:q!命令,这个命令将不保存文件而直接退出vi。 

c. 删除与修改文件的命令: 
    x:删除光标所在字符。 
  dd:删除光标所在的列。 
    r:修改光标所在字元,r 後接著要修正的字符。 
   R:进入取替换状态,新增文字会覆盖原先文字,直到按 [ESC] 回到指令模式下为止。 
   s: 删除光标所在字元,并进入输入模式。 
   S:删除光标所在的列,并进入输入模式。 

d. 屏幕翻滚类命令 
    Ctrl+u: 向文件首翻半屏 
    Ctrl+d: 向文件尾翻半屏 
    Ctrl+f: 向文件尾翻一屏 
    Ctrl+b: 向文件首翻一屏 
    nz: 将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。 

e. 删除命令 
   ndw或ndW: 删除光标处开始及其后的n-1个字 
   do: 删至行首 
   d$: 删至行尾 
   ndd: 删除当前行及其后n-1行 
   x或X: 删除一个字符,x删除光标后的,而X删除光标前的 
   Ctrl+u: 删除输入方式下所输入的文本 

f. 搜索及替换命令 
   /pattern: 从光标开始处向文件尾搜索pattern 
   ?pattern: 从光标开始处向文件首搜索pattern 
   n: 在同一方向重复上一次搜索命令 
   N: 在反方向上重复上一次搜索命令 
   :s/p1/p2/g: 将当前行中所有p1均用p2替代 
   :n1,n2s/p1/p2/g: 将第n1至n2行中所有p1均用p2替代 
   :g/p1/s//p2/g: 将文件中所有p1均用p2替换 

g. 复制,黏贴 
   (1) 选定文本块,使用v进入可视模式;移动光标键选定内容 
   (2) 复制选定块到缓冲区,用y;复制整行,用yy 
   (3) 剪切选定块到缓冲区,用d;剪切整行用dd 
   (4) 粘贴缓冲区中的内容,用p 

h. 其他 
   在同一编辑窗打开第二个文件,用:sp [filename] 
   在多个编辑文件之间切换,用Ctrl+w 

vi 技巧