Normal模式
打开vim之后默认是Normal模式。Normal模式下你可以操作你的光标,接下来是Normal模式中的一些简单命令,在Normal模式下,几乎所有的键都是功能键。
x —— 删除当前光标所在处的字符
:w —— 存盘
:q —— 退出,你可以使用 :wq来同时进行这两个操作
dd —— 剪切当前行
p —— 粘贴
hjkl —— 效果等同于←↓↑→,用于移动光标
:help<command> —— 显示相关命令的帮助
学习更多的命令
除了i之外,还有别的插入模式可以选择
a —— 在光标后插入
o —— 在当前行后插入新行
O —— 在当前行前插入新行
一些快速移动光标的指令
0 —— 数字零,到行头
^ —— 到本行第一个不是空字符的位置
$ —— 到行尾
g_ —— 到行尾最后一个不是空字符的位置
/pa —— 搜索 pa 这个字符串,按n查找下一个
撤销指令
u —— 撤销
ctrl+r —— 重做
关于文件的指令
:e <path/to/file> —— 打开一个文件
:saveas <path/to/file> —— 另存为
:q! —— 不保存退出 :qa!可以退出所有编辑中的文件
:bn :bp ——当你打开了很多文件,用这个切换到下一个/上一个
学习技巧型命令
Vim重复自己的方法
. —— 小数点,重复上次命令
N<command> —— 重复一个命令N次
下面是一个特殊的例子
100imeow[ESC] —— 写下100个“meow”
. —— 重复上一个命令 也就是再写100个“meow”
3. —— 重复3次命令 写下3个(而不是300个)“meow”
进阶级移动光标的命令
NG —— 移动到第N行 ,:N也可以
gg —— 到第一行
g —— 到最后一行
w —— 到下一个单词开头
e —— 到下一个单词结尾
% —— 当光标在括号上时,可以移动到与之对应的另一个括号
*和# —— 移动到下一个/上一个光标所在的单词上
实际上这些命令都可以组合输入,格式为:<start position><command><end position> 举个简单的例子
0y$ —— 0和 $ 是位置,y是指令,这个指令的意思就是从行头拷贝到本行最后一个字符。
除了 y,还有不少命令可以这么做,比如
d —— 删除
gU/gu —— 变为大写/小写
v ——可视化选择
参考文章: