前言
如果你以为我是一个喜欢vim的编辑器的vim支持者你就错了。我是一个emacs的支持者。但是我曾经自大的以为在这个世界上只有emacs的快捷键才是最优秀的。
直到我接触了vim的编辑文本时的快捷键,我才发现vim的编辑模式是如此的高效率,当然使用亲爱的emacs的快捷键效率也是很高的。
但是vim的优点是:它不会使我的手部因为长期使用快捷键而畸形(真)。
所以在看这个教程前我推荐大家使用spacemacs来作为你的主力编辑器。然后使用vim的按键模式。这样两全其美。就像红楼梦中的贾宝玉。娶了黛玉和宝钗一样的爽。
VIM模式
正常模式 (按ESC)
插入模式 (在正常模式下按i等) -INSERT-
可视模式 (* 在正常模式下按v 这条是在spacemacs中的 vim里的不知道)
插入的命令
i
在当前光标之前插入
I
在当前行首的第一字符之前插入(mac 上的spacemacs 其他没试的这么细)
a
在当前光标之后插入
A
在当前行未插入
o
在当前行之后插入一行
O
在当前行之前插入一行
查找命令
注意 在spacemacs你完全可以使用emacs的传统 C-s
来完成。但是我还是要写一下vim的方式。
在正常模式下按 /
然后使用 n
查找下一个 使用 N
查找上一个。
注意 特殊的字符在查找时要进行转义!
不过我喜欢下一种方式是在spacemacs中独有的,其实是有插件实现的 如果你在emacs中安装也可以的。
所以来看vim的朋友请跳过这个段直接看下一段吧;
spacemacs的朋友们,这个很好用 不过有局限性。就是 SPC v
此时在文本中会自动的选择一个词。接下来就可以再下面的状态栏里有搜索的选项了。你懂得。
这些在spacemacs中方便的指令你也可以在快捷键
SPC s g
中找到哦。
移动命令
这个是我最喜欢vim的地方之一
h
= 左移一个字符
l
右移一个字符,这个命令很少用,一般用 =w= 代替。 =w= 是向右移动一个单词。
k
上移一个字符
j
下移一个字符
除了这些还有一些其他常用的命令
0
移动到一行的开头
gg
移动到文件的开头
G
移动到文件的结尾
C-e
向上滚动一行
C-y
向下滚动一行
撤销和重做命令
u
撤销操作
C-r
重做命令
删除命令
x
删除当前字符
dh
删除前一个字符
dd
删除当前行(ps:这个我觉得很有用的)
J
删除两行间的空格
拷贝粘贴
y
拷贝当前光标选中的字段
yy
拷贝当前行
p
在当前光标之后粘贴
写在最后
vim中的有些思想真的很优美,有些操作真的比emacs好。学过来就是不要纠结。有信仰,但是信仰应该是方便和美学不是某个编辑器,我们爱的是emacs背后的东西,绝对不能成为器物的奴隶。
我将一直的迷惑与无知,我是黄油香蕉君,再见。