Vim操作小结

前言

如果你以为我是一个喜欢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背后的东西,绝对不能成为器物的奴隶。

我将一直的迷惑与无知,我是黄油香蕉君,再见。

给作者买杯咖啡吧。喵~