Vim前后台
ctrl +z 回到后台
fg %X 回到前台 X:中括号的job编号
选中一个单词
v iw
整页删除
gg 回到页首
dG 删除全部,G是到页尾的意思
使复制过来的代码保持格式
先执行命令 set paste
翻页
Ctrl+f:向文件尾翻一屏
Ctrl+b;向文件首翻一屏
搜索及替换命令
/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替换
替换
当前行进行替换:s/XXX/YYY/gXXX是需要替换的字符串,YYY是替换后的字符串。
全局替换:% s/XXX/YYY/g.
或指定行范围 替换::100, 102s/XXX/YYY/g.
复制剪切
yy、Y :复制当前光标所在处的行
nyy、nY:复制当前光标所在处及以下的n行
dd :剪切当前光标所在处的行
ndd :剪切当前光标所在处及以下的n行
p:在当前光标处下面粘贴内容。
P:在当前光标处上面粘贴内容。
移动光标
) :光标移至句尾
( :光标移至句首
}:光标移至段落开头i
{:光标移至段落结尾
w或W :光标右移一个字至字首
b或B :光标左移一个字至字首
e或E :光标右移一个字至字尾
H ——移至屏首
L ——移至屏末
M ——移至屏中
gg ——移至页首
G ——移至页末
nG //跳到行号为n的行
n+:光标下移n行
n-:光标上移n行
n
:光标移至第n行尾H:光标移至屏幕顶行M:光标移至屏幕中间行L:光标移至屏幕最后行0:(注意是数字零)光标移至当前行首
:光标移至当前行尾
hl 左右
jk 上下
删除:
ndw或ndW:删除光标处开始及其后的n-1个字
do:删至行首
d$:删至行尾
ndd:删除当前行及其后n-1行
x或X:删除一个字符,x删除光标后的,而X删除光标前的
Ctrl+u:删除输入方式下所输入的文本
x //删除当前字符
nx //删除从光标开始的n个字符
dd //删除当前行
ndd //向下删除当前行在内的n行
u //撤销上一步操作
U //撤销对当前行的所有操作
选择:
在正常模式下(按ESC进入)按键v进入可视化模式,然后按键盘左右键或h,l键即可实现文本的选择。
其它相关命令:
v:按字符选择。经常使用的模式,所以亲自尝试一下它。
V:按行选择。这在你想拷贝或者移动很多行的文本的时候特别有用。
CTRL+v:按块选择。非常强大,只在很少的编辑器中才有这样的功能。你可以选择一个矩形块,并且在这个矩形里面的文本会被高亮。
选择一个单词
1.光标移动到aaa的开头,按 v 按e 按y
2.光标移动到bbb的开头,按 v 按e 按p
也就说,快速选中一个单词,按v按e即可。
剪切文本:
用v选中文本之后可以按y进行复制,如果按d就表示剪切,之后按p进行粘贴。
剪切一行:dd
剪切当前行光标所在的位置到行尾:d$
剪切当前行光标所在的位置到行首:d^
前切三行:3dd,即从当前行+下两行被剪切了。
2.剪切1-10行到20行
[plain] view plain copy
:1,10 m 20
其他
shell终端改vi
shell默认的是emas模式,你可以把shell设置成vi模式
set -o vi
请小写然后再点i
如果大写点i,光标会自动到行首,这是我所不想要的。