vim中的杀手级插件:CtrlP

什么是CtrlP

CtrlP是什么?对一般人来说,是打印文档的快捷键。对sublime text的用户来说,是sublime最性感功能之一。而对vimer来说,是可以在论坛上又一次喊出”这有什么,vim也能实现”,其实心底在窃喜,vim终于有了一个好用的打开文件的插件了,虽然它从名字到功能都模仿了sublime。

sublime的CtrlP可以说是重新定义了编辑器打开文件的方式,极大了方便了大规模工程代码的浏览。如果你的工程代码有数百个文件,你就会感觉到,在文件夹中定位到你要找的代码会有多麻烦了。在类似NerdTree之类的树形文件结构里一个个找,明显是很低效的。很多IDE可以搜索并打开文件,可以搜索定位到函数,变量,符号,甚至到某一行。有些还会提供模糊查找功能,如果你只记得要找的东西的大概名字,也可以带你到正确的地方。但是sublime进一步将这些功能整合进一个命令,简单符合直觉的输入方式,超快的响应速度,称得上编辑器设计的一个革命。感兴趣的同学可以自行去官网瞻仰之,sublime有很棒的demo动画和文档。

Vim的CtrlP插件

虽然Vim社区总是后知后觉,又一次在别的编辑器作出革新之后做了Copycat,但是CtrlP插件还是很值得推荐的。Vim的CtrlP基本完全实现了sublime的功能,可以模糊查询定位:工程下的所有文件,打开的buffer,buffer内的tag,最近访问的文件。通过externsion,甚至可以定位mark,register,cmdline history,yankring。虽然在操作体验上还不如sublime,但是功能上已经超越了师傅,更是拉下fuzzyfinder,lookupfiles这些老一辈Vim插件好几条街。

演示视频

具体的操作演示请看下面的视频,作者happypetter讲解的非常清楚,同时推荐他的视频教学网站HappyCasts,上面有很多关于linux,vim和网站开发的好视频。