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 

原文地址:https://www.cnblogs.com/dapaitou2006/p/6649109.html