【Bash百宝箱】vi常用快捷命令大全

现在越来越多的智能IDE出现在工作当中,想必很少有人使用vi了吧,不过在某些场合下 ,vi还是一个必不可少的工具,其中就包括了许多好用的快捷命令,而且有些IDE如Qt还集成了vi。大家都知道,vi有三种模式:一般模式、编辑模式和指令模式,下面总结vi在这三种模式下的快捷命令。

1、一般模式

光标移动——

h、j、k、l:作用分别与键盘左、上、下、右键一样,光标左右移动一个字符或者上下移动一行,前面可加一个正数n,表示光标左右移动n个字符或者上下移动n行。
Ctrl + f:作用同PgDn键,向下翻一页。
Ctrl + b:作用同PgUp键,向上翻一页。
Ctrl + d:向下翻半页。
Ctrl + u:向上翻半页。
+、-:作用分别与键盘下、上键一样。
空格键:作用类似于键盘右键,不同的是空格键指定的右移距离超过当前行允许的最大可移动距离时,会切换到下一行,而右键则停在当前行的最右端。
回车键:作用同键盘向下键。
0:数字0,同Home键,移到行首。
$:美元符号,同End键,移到行尾。
H、M、L:分别表示光标移动到屏幕当前页第一行、中间行、最后一行的行首。
G:光标移动到文件最后一行的行首,前面可加正数n,表示移到文件第n行。
gg:光标移动到文件第一行的行首, 前面可加正数n,表示移到文件第n行。

文本搜索与替换——

/word:向下搜索word。
?word:向上搜索word。
n:重复前一次搜索动作。
N:反向重复前一次动作。
:n1,n2s/word1/word2/g:把n1到n2行中的word1替换为word2。
:1, s/word1/word2/gword1word2:1, s / w o r d 1 / w o r d 2 / g : 把 第 一 行 到 最 后 一 行 中 的 w o r d 1 替 换 为 w o r d 2 。 : 1 , s/word1/word2/gc:把第一行到最后一行中的word1替换为word2,替换前需要确认。

复制、粘贴与删除——

x、X:删除一个字符,x向后删除,X向前删除,前面可加一个数字n,表示删除n个字符。
dd:删除光标所在行,前面添加数字n表示向下删除n行。
d1G:删除光标所在行到文本开始。
dG:删除光标所在行到文本结尾。
d0:删除光标所在行的字符到行首。
d$:删除光标所在行的字符到行尾。
yy:复制光标所在行,前面添加数字n表示向下复制n行。
y1G:复制光标所在行到文本开始。
yG:复制光标所在行到文本结尾。
y0:复制光标所在行的字符到行首。
y$:复制光标所在行的字符到行尾。
p、P:粘贴,p粘贴位置在光标所在行的下一行,P粘贴位置在光标所在行的上一行。
J:将光标所在行与下一行合为一行。
u:复原前一个操作。
.:句点,重复前一个操作。

二、一般模式与编辑模式的切换

i:从光标所在处插入。
I:从光标所在行首插入。
a:从光标所在处追加。
A:从光标所在行尾追加。
o:插入新行到光标所在行的下一行。
O:插入新行到光标所在行的上一行。
r:替换光标所在处的字符,执行一次。
R:一直替换光标所在处的字符。
Esc:从编辑模式切换到一般模式。

三、一般模式与指令模式的切换

:w——保存。
:w!——强制保存。
:q——退出。
:q!——强制退出而不保存。
:wq——保存并退出。
:wq!——强制保存并退出。
ZZ——退出,若文本有修改会自动保存。
:w ——把当前文件另存为filename。
:n1,n2 w ——把n1行到n2行另存为filename。
:r ——在当前光标处读入文件filename。
:! ——暂时离开vi去执行命令command。
:set nu——设置行号。
:set nonu——取消行号。

四、区块操作

区块操作很有意思,选择区块时,选中部分会反白,然后使用方向键进行操作。
v:选择字符。
V:选择行。
Ctrl + v:选择区块,也就是一个矩形。
d:删除选中部分。
y:粘贴选中部分。

五、多文档

vim/vi可以同时打开多个文档,在查看多文档时有如下快捷命令可以使用。
:n——查看下一个文档。
:N——查看上一个文档。
:files——查看vim/vi目前打开了多少个文档。

六、多窗口

像Excel、许多IDE一样,vim/vi也有窗口分割功能,命令如下。
:sp [filename]——分割窗口,filename可有可无,无时新窗口显示当前文件内容,有时新窗口显示filename内容。
Ctrl + w + 向下键——切换到下一个窗口。
Ctrl + w + 向上键——切换到上一个窗口。
Ctrl + w + q——退出当前窗口。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值