前几天看到一个帖子,一个哥们问新手如何学习 VIM 的建议。底下的人都回复:“无他,唯手熟尔”。一个工具用熟悉以后确实会用得很好。但是我发现身边有的人用 VIM 用了很多年,却连一些最基本的操作都不大会,有些甚至连 hjkl 都不会使用。这个问题的出现真的不是可以用手熟来解释了。我就我自己这几年来使用 VIM 的一些心得和观察给新手提供以下建议。
认识 VIM
我们都知道 linux 的哲学是一个程序只做好一件事情,并做到最好。 wc, cat,tail, head, grep, ls, cd 。这些工具是对这个哲学的最好诠释。 VIM 也符合这个哲学, VIM 经过这么多年的发展依然没有太多的变化,变化的只是外部各种各样越来越强力的插件。 VIM 本身还依然保持娇小的身材,没有去解决除了编辑文本以外的问题。
网上的教程全部都是错的
网上有各种各样的教程都在介绍如何将 VIM ‘伪装’ 成一个强力的 IDE 。这些文章表面上看起来是教程,实际上是作者在告诉别人:“看,我这辆坦克多么多么厉害,它能发射各种各样的导弹”。这些教程除了教你把一个工具搞复杂以外,并没有带来任何有用的东西。 VIM 它本身不是 IDE ,它距离 IDE 还差很远。但它能让用户可以使用各种各样的语言来写代码。这也是为什么我现在还在用 Ctrl+N 来做补全而不使用各种强力的补全插件来做补全的原因。 VIM 它本身也并不完美,插件系统也有各种各样的问题,这么多年过去了连中文输入法都没有完美支持。但做为一个写代码的工具它已经做到了一个编辑器的极致了。 VIM 最好的教程是它自带的 vimtutor ,很少有软件能把教程做得这么好。 vimtutor 里面提及的那些操作几乎涵盖了 VIM 平常 90% 的操作,反复跟着教程练习几遍就能完全使用 VIM 了。可惜我见过的大部分的 VIM 用户都没有一开始去使用 vimtutor 进行入门练习,这就是我们经常会见到一个使用 VIM 好几年的用户居然连 hjkl 都不会的原因。
让工具适应你
VIM 有各种各样的插件和网上其他人开放出来 vimrc 配置文件。这些现成的东西是使用是有成本的,你必需要先学会使用这些东西才能让工具适应你。直接使用别人的 vimrc 与现成的插件包是非常不可取的,它们会把你的工具彻底搞复杂让你没法适应。理想的状态应该是理解 vimrc 文件每一行配置的含义,然后根据自己的习惯来做调整。需要什么插件去网上搜索,完全学会一个插件后再添加另一个插件。
总结:
1.认识 VIM 的局限,他能干什么,干不好什么。
2.入门请认真仔细使用 vimtutor 命令进行入门练习,最好多重复练习几遍。
3.拒绝别人现成做好的东西的诱惑,慢慢的打造属于自己的工具。