本文共 1552 字,大约阅读时间需要 5 分钟。
:new a.cpp # 新建文件a.cpp:e a.cpp # 打开文件a.cpp(若不存在则新建):sp a.cpp # 打开文件a.cpp(水平分割窗口):vsp a.cpp # 打开文件a.cpp(垂直分割窗口):w # 保存文件:w a.cpp # 保存为文件a.cpp:q # 退出编辑器:q! # 退出编辑器,且不保存:wq # 退出编辑器,且保存文件
[Shift]+r # 刷新文件列表
:set nu # 显示行号:set nonu # 取消显示行号
:shell # 切换到shell,此时vim在后台运行exit # 在shell中输入命令exit,切换回vim
h,j,k,l # 控制光标的左下上右移动,也可以使用方向键或鼠标5+ # 向下跳5行3- # 向上跳3行3G # 跳到行号为3的行G # 跳到最后一行
x,X # x为删除当前字符 # X为向左删除一个字符5x,3X # 5x为删除从光标开始的5个字符 # 3X为向左删除3个字符dd # 删除当前行D # 删除从光标开始的当前行的所有字符2dd # 向下删除包括当前行的2行d5G # 删除当前行(包括)与第5行(包括)之间所有数据dG # 删除当前行(包括)到最后一行(包括)的所有数据d3j # 删除当前行与向下3行的所有数据
yy # 复制当前行3yy # 复制包括当前行在内的向下3行y5G # 复制当前行(包括)与第5行(包括)之间所有数据yG # 复制当前行(包括)到最后一行(包括)的所有数据y3j # 复制当前行与向下3行的所有数据y^ # 复制从光标到行首的内容y$ # 复制从光标到行尾的内容
p,P # p为粘贴在光标后 # P为粘贴在光标前
v,V # visual模式,通过上下左右键选择光标“扫过”的所有字符 # visual line 模式,通过上下键选择光标“扫过”的所有行[Ctrl]+v # visual block 模式,通过上下左右键选择一个矩形文本y # 复制在visual、visual line和visual block模式下选择的文本d # 剪切在visual、visual line和visual block模式下选择的文本
/atool # 向光标下搜索atool字符串?atool # 向光标上搜索atool字符串n # 向下搜索前一个搜素动作N # 向上搜索前一个搜索动作
:s/old/new # 用new替换行中首次出现的old:s/old/new/g # 用new替换行中所有的old:1,5 s/old/new/g # 用new替换从第1行到第5行里所有的old:%s/old/new/g # 用new替换当前文件里所有的old
u # 撤销上一步操作U # 撤销对当前行的所有操作
[Ctrl]+r # 恢复撤销操作修改的内容
a,A # a为在当前光标位置的右边添加文本 # A为在当前行的末尾位置添加文本i,I # i为在当前光标位置的左边添加文本 # I为在当前行的开始处添加文本(非空字符的行首)o,O # o为在当前行的下面新建一行 # O为在当前行的上面新建一行r,R # r为替换当前光标位置的文本 # R为替换当前光标位置及后面的若干文本J # 合并光标所在行及下一行为一行
[Esc] # 退出,回到一般模式
参考链接