在插入模式下按 esc 键退回到阅读模式。郑重其事的提醒:如果你不知道现在处于什么模式,就狂按 esc 键。
除了 i 键可以进入插入模式,还有其他几个键可以进入插入模式,比如说 a 键可以在光标后插入;o 键可以在当前行后插入;0 键可以在当前行前插入。
键入 dd 删除当前行,并把删除的行存到剪贴板里。
键入 x 删除当前光标所在的一个字符。
键入 p 可用于粘贴上一次复制的内容。
键入 yy 可以复制当前行的内容。
键入 u 可用于撤销当前操作。
键入 :w 可以保存当前修改后的内容。
键入 :q! 可以在不保存内容的情况下退出 Vim。
键入 :wq 可以在保存内容的情况下退出 Vim。
**温馨提醒:**如果你是在插入模式,想要退出或者保存内容的话,一定要先按 esc 键退出到阅读模式。
好了,到此为止,你已经算是入门级的 Vim 用户了,真的,掌握了这些命令,其他编辑器能干的事,你都可以通过 Vim 完成了。
03、进阶
孙悟空成为花果山水帘洞的大王之后,感到了空前的寂寞,他想要进阶,于是撑了一叶扁舟拜师学艺去了。同样的,当我们熟练掌握了上述这些命令之后,也会感到空前的寂寞,因为 Vim 的强大绝不止于此。
来看一下,Vim 是怎么重复自己的。
键入 . 可以重复上一次的命令。这意味着什么呢?意味着如果我们键入 dd 删除了一行内容,如果我们还想删除一行的话,不需要再按下两次 d 键了,只需要按下一次 . 键就可以了。
键入 N+命令可以重复某个命令 N 次。(此处的+意味着按下次数后,再输入命令)。这意味着什么呢?意味着生产力的大幅度提升啊!
比如说,在阅读模式下,键入 3dd 可以一次性删除 3 行内容;键入 10p 可以粘贴 10 次文本。
来个带劲的哈。
通过 vim hello.txt 打开一个新的文本文件。然后键入 10+i+hello world+回车键+esc(此处的+意味着按下次数后,再键入 i 键进入插入模式,再敲下 hello world,再按下回车键换行,再按下 esc 键退出到阅读模式),奇妙的事情发生了,见下图。
想一下,键入 10. 会发生什么?相信我,试玩之后,你会“哇”的。
妙,实在是妙。除此之外,你还可以键入:
% 匹配括号来移动,包括 {[(,前提条件是你需要把光标移动到括号上。
* 匹配单词来向下一个移动。(中文就无法使用了)
# 匹配单词来向上一个移动。(同上)
记住光标的移动就可以脱离鼠标的束缚了。大多数命令都可以按照下面的方式来干:
光标开始的位置+命令+光标结束的位置
1
比如 0y$ 意味着:
0,光标移动到行首
y,从这里开始复制
$,直到行尾
如果你想看到光标选中了哪些文本,可以先按下 v 键进入可视化视图,然后再操作光标,如下图所示。
更强大的操作,可以看看耗子叔翻译的一篇《简明 Vim 练级攻略》:
https://coolshell.cn/articles/5426.html
在阅读模式下,键入 :sp 可以横向分割窗口,键入 :vsp 可以竖向分割窗口,见下图。
舒服吧?原来一边编辑,一遍预览,在 Vim 下,只需要键入三四个字符!
04、结语
如果你想在手头备一份 Vim 的帮助手册,免得在用 Vim 的时候四处搜索,实话告诉你,我替你准备了,就是这么贴心。真的,花了 2 天的时间呢,整理了一份《Vim 中文用户手册》,310 页,内容非常全面。