光标移动
h: 光标左移 j: 光标下移 k: 光标上移 l: 光标右移(常用, 有方向键就用方向键)
n<sapce>: 向后n格 n<enter>: 向下n行(常用) nG: 移动到第n行
0(home): 行首 $(end): 行末(常用, 有home和end就不用这么麻烦了)
G: 移动到文档末尾 gg: 移动到文档开头
+: 非空格下一行 -: 非空格上一行(有方向键就用方向键)
M: 最上方一行的第一个字符 M: 中间一行的第一个字符 L: 最后一行的第一个字符(没什么用)
翻页操作
ctrl+ f(pgdn): 下一页 b(pgup): 上一页 d: 下半页 u: 上半页(常用, 有pgdn和pgup就用)
插入
i: 插入 I: 行首插入
a: 光标后插入 A: 行末插入
o: 光标的下一行插入 O: 光标的上一行插入
r: 单次替换 R: 多次替换, esc退出
单词搜索和替换
:/word: 向下搜索
:?word: 向上搜索
n: 下一个 N: 上一个
:n1,n2s/word1/word2/g: 在n1到n2行之间查找并且替换
:n1,$s/word1/word2/g: n1行到最后一行之间查找并且替换
:n1,n2s/word1/word2/gc: 在n1到n2行之间查找并且替换, 并确认
删除操作
nx: 向后删除n个字符(不包含当前光标) nX: 向前删除n个字符(包含当前光标)
x: 向后删除1个字符(不包含当前光标) X: 向前删除1个字符(包含当前光标)
dd: 删除一整行 ndd: 向下删除n行
dnG: 光标的一行删除到第n行
dG: 删除当前行到最后一行
d$: 删除当前光标到该行最后一个字符
d0: 删除当前光标到该行第一个字符
复制操作
yy: 复制一行 nyy: 向下复制n行
ynG: 光标的一行复制到第n行
yG: 复制当前行到最后一行
y$: 复制当前光标到该行最后一个字符
y0: 复制当前光标到该行第一个字符
粘贴操作
p: 光标之后 P: 光标之前
其他一些常用操作
J: 与下一行合并(合并的两行中间以空格隔开)
u: 撤销 ctrl+r: 重做(常用)
.: 重复上个操作
set nu: 设置行号
set nonu: 取消行号
:! command: 暂时退出vim执行sh命令, jupyter notebook也可以这样
批量注释
Ctrl + v 进入块选择模式,然后移动光标选中你要注释的行,再按大写的 I 进入行首插入模式输入注释符号如 // 或 #,输入完毕之后,按下 ESC,Vim 会自动将你选中的所有行首都加上注释,保存退出完成注释。
取消注释
Ctrl + v 进入块选择模式,选中你要删除的行首的注释符号,注意 // 要选中两个,选好之后按 d 即可删除注释,ESC 保存退出
网友评论