默认是命令模式
编辑(插入)模式 i,a
末行模式 假如原来是编辑模式,按esc退到命令模式,再按:进入末行模式
任何模式下按esc键就退回到命令模式
编辑模式
i在前面插入,a在后面插入,o在下一行插入,大写i在行首插入,大写a在行尾插入,大写的o在上一行插入
命令模式
yy 复制光标所在的这一行
4yy 复制下面4行包括光标所在的行
p粘贴
dd删除光标所在的这一行,也代表剪切
2dd 删除下面两行包括光标所在的行
D从当前光标开始剪切,一直到行末
d0从当前光标开始剪切,一直到行首
x删除当前光标后面那个,每次删一个
X删除当前光标前面那个,每次删一个
dw删除一个单词
h向左移动光标,l向右移动光标,j向下移动光标,k向上移动光标
M在当前屏幕的中间那行,L当前屏幕的最后一行,H当前屏幕的最上面一行
ctrl+f翻到下一页
ctrl+b翻到上一页
ctrl+u向下翻半屏
ctrl+d向上翻半屏
28G 跳到第28行
1G或gg回到整个代码的第一行
w向后跳一个单词的长度,即跳到下一个单词的开始处
b向前跳一个单词的长度,即跳到上一个单词的开始处
G快速回到整个代码的最后一行
u撤销
ctrl+r反撤销
选中一片代码
v 可视化,光标在哪就选到哪,上下键控制选中的行
V 可视化,选中整行,上下键控制选中的行
>>向右移动代码
<<向左移动代码
.重复执行上一次的命令
{跳到上段代码的开头
}跳到下段代码的开头
r替换当前光标的字符
R从当前光标开始替换字符,想替换多少都行
查找字符
从开头搜索
在命令模式下,输入/你要查找的字符
按下回车,可以看到vim把光标移动到该字符处
再按n(小写)查看下一个匹配
按N(大写)查看上一个匹配(capslock切换大小写,也可以在小写状态下按shift+n)
从结尾处搜索
?要搜索的字符串或字符
shift+zz保存退出,相当于wq
末行模式
%s/旧的字符/想替换的字符/g 批量替换字符
11,16s/旧的字符/想替换的字符/g 替换11到16行的字符
w保存
q退出
wq保存退出
x相当于wq
高阶操作
分屏
https://www.jianshu.com/p/52949caa7e93