下面是普通模式下的操作:
0:光标移动到本行开头
$:光标移动到本行结尾
^:光标移动到本哈根第一个非空字符
w:光标向前移动一个词(上一个字母与数字组成的词之后)
W:光标向前移动一个词(以空格分隔的词)
3w:光标向前移动3个词
b:光标向后移动一个词(下一个字母与数字组成的词之后)
B:光标向后移动一个词(以空格分隔的词)
3b:光标向后移动3个词
G:移动到文件末尾
gg:移动到文件开头
Fn + ->:移动到行尾
Fn + <-:移动到行首
其实上面两句适用于全部编辑器
(:跳转到上一句
):跳转到下一句
a:在光标后插入文本
i:在光标前插入文本<br> A`:在行末插入文本
x:删除光标处字符
d:可视模式下删除选中的内容
dw:删除一个词
d0:删除到行首
d$:删除到行尾
d(:删除到句首
d):删除到句尾
dgg:删除到文件头
dG:删除到文件末尾
dd:删除该行
dd:删除3行
yy:复制当前整行到存储缓冲区
yG:复制光标以下的所有行
ygg:复制光标以上的所有行
y0:复制光标到行首的内容
y$:复制光标到行尾的内容
p:在当前行之后粘贴存储缓冲区中的内容
P:在当前行之前粘贴存储缓冲区中的内容
[n]x: 剪切光标右边n个字符,相当于d[n]l。
[n]X: 剪切光标左边n个字符,相当于d[n]h。
其实剪切和删除也是用d指令:
d:剪切选定块到缓冲区;
dd:剪切整行
d^:剪切至行首
d$:剪切至行尾
dw:剪切一个word
dG:剪切至档尾
u:撤销最后的操作
ctrl+r:重做最后撤销的操作
/搜索内容:在文档后面搜索
?搜索内容:在文档前面搜索
n:移动到后一个检索到的内容
N:移动到前一个检索到的内容
:%s/original/replacement:检索第一个 “original” 字符串并将其替换成 “replacement”
:%s/original/replacement/g:检索并将所有的 “original” 替换为 “replacement”
:%s/original/replacement/gc:检索出所有的 “original” 字符串,但在替换成 “replacement” 前,先询问是否替换
v:进入逐字可视模式
V:进入逐行可视模式
ctrl + v进入可视模式,然后移动光标选择行,输入大写I,然后再输入#就可以注释多行了
进入文件后输入ggdG
或者在终端中输入命令echo >> file
进入文件后输入ggVG
进入文件后输入ggyG
进入文件后输入ggxG
<<: 向左缩进一个shiftwidth
>>: 向右缩进一个shiftwidth
:ce(nter): 本行文字居中
:le(ft): 本行文字靠左
:ri(ght): 本行文字靠右
gq: 对选中的文字重排,即对过长的文字进行断行
参考:
最全的vim快捷键