Vim 简明上手指南
先说下方向键的关键字,hjkl,分别代表左、下、上、右。
再说下任意字符用@表示,只在示例中使用,实际上@并不是Vim中的什么关键字。至于为什么用@,实在是Vim用到的字符太多了,后面会慢慢接触到。
如果没有特殊说明,就是在普通模式。
可视模式
- v:字符为范围单位
- V:行为范围单位
- ctrl+v:块为范围单位
命令模式
命令模式其实也属于普通模式的交互,有些操作必须要输入命令才可以,这里为了方便理解,细分出来了,介绍中为:
开头的就是命令模式下的操作。
- Vim调用shell的命令,前面要加一个感叹号,例如输入
:!pwd
执行pwd
翻页
- ctrl+f:向下翻一页
- ctrl+b:向上翻一页
- ctrl+d:向上翻半页
- ctrl+u:向下翻半页
行间移动
这里的**@**表示数字!
- @j:将光标向下移动@行
- @k:将光标向上移动@行
- @:将光标移动到第@行
- gg:将光标移动到文档的第一行
- G:将光标移动到文档的最后一行
- %: 在成对的括号间跳转
- [[:将光标移动到上一个代码段(或函数)的行首
- ]]:将光标移动到下一个代码段(或函数)的行首
- {:将光标移动到上一个空行行首
- }:将光标移动到下一个空行行首
行内移动
- shift+^:将光标移动到行首
- shift+$:将光标移动到行尾
- f@:向下查找并将光标移到第一个字符@上,按’;’(分号),继续向下查找,按’,’(逗号),可以延反方向找到下一个@
- F@:同上,区别是向上查找
字符间移动
- b:将光标移动到上一个单词的第一个字符
- w:将光标移动到下一个单词的第一个字符
- e:将光标移动到下一个单词的最后一个字符
查找
*:在文件中查找光标下的单词(向下查找),如果要继续查找,可以按n向下查找,按N反向查找
#:同上,区别是向上查找
:/id 从当前光标向下查找文件中的id字符串,为了方便,你可以直接敲击
/id
:?id 同上,却别是向下查找
撤销
- u:撤销
- ctrl+r :反撤销
复制、粘贴
- y:复制,比较常用的是先进入可视模式(按v),然后按y,复制所选文本
- yy:复制一整行
- p:从光标右边开始粘贴,注意不能粘贴到Vim外的程序中
- P:大P,从光标左边开始粘贴
- “+y:复制到系统剪贴板,这样就可以粘贴到Vim外面去了
- “+p:将Vim外复制的内容粘贴进来
插入
- a:从光标右边开始插入,进入插入模式
- i:从光标左边开始插入,进入插入模式
- A:从行尾插入,进入插入模式
- I:从行首插入,进入插入模式
- r:替换光标下的字符,不进入插入模式,例如rx,将光标下的字符替换为x,若选中多个字符,会逐个替换
替换
- :s 为替换命令,前面可以跟范围如:
1,20s,id,ID,g
, :表示从第1行到20行替换id为ID,”%” :表示整个文件,g
的意思是一行里面如果有多个匹配项,不写范围默认为当前行。
删除
- d:删除,比较常用的是先进入可视模式(按v),然后按d,删除所选文本
- dd:删除一整行
重复
- .:会重复上次编辑操作
退出
- :q 退出
- :w 保存
- :x 保存并退出
- :e 编辑文件,不存在则创建