vim 命令
原文:https://www.cnblogs.com/mondol/p/vi-examples.html
保存与退出
w
# 保存当前文件w /tmp1
# 另存为/tmp1x
或 wq
# 保存退出q
# 没有修改的情况下退出viq!
# 退出不保存
插入
i
# 在光标前I
# 在当前行首a
# 光标后A
# 在当前行尾o
# 在当前行之下新开一行O
# 在当前行之上新开一行
导航
h
# 光标左移一个字符l
# 光标右移一个字符space
# 光标右移一个字符Backspace
# 光标左移一个字符k
# 光标上移一行j
# 光标下移一行Enter
# 光标下移一行
屏幕滚动
Ctrl+f
# 向文件尾翻一屏 forwardCtrl+b
# 向文件首翻一屏 back
Ctrl+u
# 向文件首翻半屏 up
Ctrl+d
# 向文件尾翻半屏 downnz
# 将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部
G # 光标移动到最后一行
nG # 光标移动到第n行
复制粘贴
yy
# 复制当前行nyy
# 复制当前行开始的n行
先按 v
然后方向键选择区域,按 y
复制选中行dd
# 剪切当前行p(小)
# 在当前光标处下面粘贴内容。P(大)
# 在当前光标处上面粘贴内容
删除
d0
# 删至行首 (d零)dw
# 删至行尾ndd
# 删除当前行及其后n-1行x
或 X
# 删除一个字符,x删除光标后的,而X删除光标前的Ctrl+u
# 删除输入方式下所输入的文本n1,n2 d
# 将n1行到n2行之间的内容删除
撤销与恢复
u # 取消上一个动作 类似windows的 Ctrl + z
Ctrl + r # 恢复 类似windows的 Ctrl + y
搜索
/abc
# 从光标开始处向文件尾搜索abc?abc
# 从光标开始处向文件首搜索abc/\/abc
# 从光标开始处向文件尾搜索/abc,其中/是转义n
# 在同一方向重复上一次搜索命令N
# 在反方向上重复上一次搜索命令
替换
s/vivian/sky/
# 替换当前行第一个 vivian 为 skys/vivian/sky/g
# 替换当前行所有 vivian 为 sky%s/vivian/sky/g
# (等同于 g/vivian/s//sky/) 替换每一行的每一个 vivian 为 sky