关于Vim编辑器使用命令的笔记

vi   进入vi而不读入任何文件
vi filename    进入vi并读入指定名称的文件(新、旧文件均可)
 
存储及退出 vi
:w filename    存入指定文件,但未退出vi(若未指定文件名则为当前工作的文件名)
:wq            存文件,并且退出vi
:q           不作任何修改并退出vi
:q! 放弃任何修改并退出vi
:!command 暂时退出vi并且执行shell指令,执行完毕后再回到vi
:sh 暂时退出vi到系统下,结束时按 Ctrl + d则回到vi
 
加数据指令
i 在关光标位置开始插入字符,结束时按ESC键
I 在光标所在行的最前面开始加字,结束时按ESC键
a 在光标位置后开始加字,结束时按ESC键
A 在光标所在行的最后面开始加字,结束时按ESC键
o 在光标下加一空白行并开始加字,结束时按ESC键
O 在光标上加一空白行并开始加字,结束时按ESC键
!command 执行shell指令,并把结果加载光标所在行的下一行
 
删除指令
nx 删除由光标位置起始的n个字符(含光标位置,按一个x表示删除光标所在的字符)
nX 删除由光标位置起始的n各字符(不含光标位置)
ndw 删除光标位置起始的n个字符组(word)
d0 将行的开始到光标位置的字符全部删除
d$ 或D 将光标位置起始到行尾的字符全部删除
ndd 将光标位置起始的n行(整行)删除(dd表示删除光标所在行)
:start,endd      删除文件的第start到end行。 
 
 
关标移动  
0           移到一行的开始 
$           移到一行的最后 
[           移到文件开始位置 
]           移到文件结束位置 
nh          往左移n位 
nl或者spacebar     往右移n位 
nk          向上移n行 
n+          向上移n行,光标在该行的起始 
ni           向下移n行 
n-          向下移n行,光标在该行的起始 
H           移到屏幕的左上角 
M           移到屏幕的中间行开头 
L           移到屏幕的最后一行 
G           移到文件的最后一行 
nG或者:n       移到文件的第n行 
nw          右移n个字组,标点符号属于字组 
nW          右移n个字组,标点符号不属于字组 
nb          左移n个字组,标点符号属于字组 
nB          左移n个字组,标点符号不属于字组 
 
Ctrl + u       屏幕上卷半个菜单 
Ctrl + d        屏幕下卷半个菜单 
Ctrl + b        屏幕上卷一个菜单 
Ctrl + F        屏幕下卷一个菜单 
 
修改指令  
r           修改光标文件的字符 
R           从光标位置开始修改,结束时按ESC键 
new          更改n组字符,结束时按ESC键 
ncc          从光标所在位置开始更改n行,结束时按ESC键
  
 
重排各行长度  
i           并按Enter将该行由光标所在处断开,并进入insert方式 
J           把下一行的数据连接到本行之后 
 
 
寻找指令  
/text         从光标位置往下找字串text 
?text         从光标位置往上找字串text 
n           继续找下一个字串(在输入上面的寻找指令之后使用)
  
寻找并且取代指令  
:getxt1/s/ /text2/options   将各行的text1替换为text2 
option=g表示文件中所有的text1均被取代,若未输入任何option,则只有各行中的第一个出现的text1被取代 
option=go 在屏幕显示各取代的行 
option=gc 在每个字串取代之前要求确认  
 
Start,endgtext1/s/ / text2/options  同上,只寻找并取代第start~end行。 
或:Start,ends/text1/text2/options 
 
 
复制及移动文件  
:first,last co dest      将first 到last行的数据复制到目标行(dest)下面 
:Start,end m dest      将start 到 end行的数据移动到目标行(dest)下。    
:r filename          将指定文件的内容读入光标所在行下。 
nY               将光标所在位置开始的n行数据暂存 
p               复制暂存数据在光标的下一行 
P               复制暂存数据在光标的上一行 
 
 
其他命令  
.               重复前一指令 
u               取消前一指令 
Ctrl + l           刷新屏幕显示 
:set number          显示文件的行号,但不会存文件 
:set nonumber         解除行号显示 
:set ai            设置每行起始位置(以光标当前位置为起始) 
:set noai           取消行起始位置设定 
:f 或<Ctrl> + g        告诉用户有关现行编辑文件的数据。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。