最近才开始用Vim,发现自己连复制粘贴删除撤销等很多操作都用不熟练,非常不方便。看了看教程,把一些常用命令记下来。
以下参考这个教程 Interactive Vim tutorial 以及在终端敲 vimtutor 出现的vim自带教程。
Vim有三个模式
i - 进入insert模式,可以像普通编辑器一样操作。从光标当前位置前一个字母开始操作。
esc - 进入normol模式,以下快捷键都是在esc模式下使用
v - 进入visual模式
光标的移动
h - 左
l - 右
j - 下
k - 上
w - 移动到下个单词首字母
b - 移动到上个单词首字母
e - 移动到下个单词尾字母
0 - 移动到本行的行首
$ - 移动到本行的行末
* - 移动到下一个此时光标所处位置的单词
# - 移动到上一个此时光标所处位置的单词
gg - 移动到文档的开始位置
G - 移动到文档的末尾
10G - 移动到第十行的开头
退出
:q! - 不保存,退出
:wq - 保存并退出
撤销和重做
u - 撤销上一个操作
U - 撤销对当前行的所有操作
Ctrl + r 重做
搜索
/text + Enter + n - 向后搜索文本text
/text + Enter + N - 向前搜索文本text
插入
o - 向后插入一行,并进入insert模式
O - 向前插入一行,并进入insert模式
A - 从行末开始插入文字,并进入insert模式
删除
x - 删除当前光标位置的字符,重复后删除光标之后的字符
X - 删除当前光标位置的字符,重复后删除光标之前的字符
r - 替换当前光标位置的字符,比如re,把光标当前位置字符替换为e
dw - 删除光标当前位置直到下一单词(不包括下一个单词的首字母)
de - 删除光标当前位置到这个单词的结束(包括这个单词的尾字母)
dd - 删除当前行
d$ - 删除当前光标位置到行末的字符
剪切粘贴
dd + p 其中dd是删除当前行,p粘贴到下一行
复制
yy
数字和快捷键连用如:
3w - 移动到后3个单词的首字母
10ig - 一下子插入10个g
d9e - 删除光标后九个单词(不计空格)
9dd - 删除光标当前位置往后的9行
visual模式
e - 选中字符
分屏
:vs path/to/file - 垂直分屏,并且打开另一个的文件
ctrl + w 切换vim里的屏幕
其他
. - 重复之前的操作
% - 找到配对的这三种括号( , { , [
自带的vimtutor才看完 Lesson 3 啊,剩下的部分下次再看吧!
.vimrc文件——vim设置
我想把vim显示行数设为默认情况,按照教程在我的home目录下,没有找到.vimrc。那就自己新建一个,并且加上 set number 保存。此后再打开vim就能自动显示行数了^_^