Linux下效率神器 -- Vim

Linux下效率神器 -- Vim

编辑文档 / 编写代码 用 Vim 轻松搞定
Vim 是 Linux 系统上的最著名的文本/代码编辑器,也是早年的 Vi 编辑器的加强版。最大特色是完全使用键盘命令进行编辑,脱离了鼠标操作虽然使得入门变得困难,但上手之后键盘流的各种巧妙组合操作却能带来极为大幅的效率提升。
以我个人学习 vim 的经验来看,通过看文档或看其他人操作其实是很难真正学会 vim 的,你必须在实际
应用中,进入真实场景才能逐渐熟悉并掌握相关命令。
开始前,我假设你:
0)具备基本的 vim 操作能力,清楚如何打开/编辑/保存文档、命令与插入模式间切换;
1)希望将 vim 打造成 C/C++ 语言的 IDE,而非其他语言。

关于 vim 的优点,你在网上能查到 128+ 项,对我而言,只有两项:
0)所思即所得,让手输入的速度跟上大脑思考的速度。
1)所需即所获,只有你想不到的功能、没有实现不了的插件。

希望获得前者的能力,你需要两本教程深入学习,《Practical Vim: Edit Text at the Speed of Thought》和《vim user manual》;要想拥有后者的能力,通读本文。
Vim 是一个历史悠久的文本编辑器,可以追溯到 qed。 Bram Moolenaar 于 1991 年发布初始版本。

Vim 采用模式编辑的理念,即它提供了多种模式,按键在不同的模式下作用不同。 你可以在普通模式 下浏览文件,在插入模式下插入文本, 在可视模式下选择行,在命令模式下执行命令等等。起初这听起来可能很复杂, 但是这有一个很大的优点:不需要通过同时按住多个键来完成操作, 大多数时候你只需要依次按下这些按键即可。越常用的操作,所需要的按键数量越少。

和模式编辑紧密相连的概念是 操作符 和 动作。操作符 指的是开始某个行为, 例如:修改、删除或者选择文本,之后你要用一个 动作 来指定需要操作的文本区域。 比如,要改变括号内的文本,需要执行 ci( (读做 change inner parentheses); 删除整个段落的内容,需要执行 dap (读做:delete around paragraph)。

如果你能看见 Vim 老司机操作,你会发现他们使用 Vim 脚本语言就如同钢琴师弹钢琴一样。复杂的操作只需要几个按键就能完成。他们甚至不用刻意去想,因为这已经成为肌肉记忆了。这减少认识负荷并帮助人们专注于实际任务。
Vim 插件开发中文指南,主要包括 Vim 脚本语法、插件开发技巧等。