Vim CtrlP 基本用法

迅速的在文件间切换是提高工作效率必不可少的功能之一,各种现代编辑器对此都有良好的支持。而只有朴实外表的元老级编辑器 vim 在这方面并没有落后。通常在初期熟悉 vim 的阶段,都会使用比较更接近普通编辑器操作的 NERDTree 插件,再打开一大堆 tab 进行编辑。快速定位一个 tab 并不容易,还会因为不同的 tab 打开的文件相同而产生混乱,这样显然缺乏效率。在 vim 中使用 buffer 编辑多文件会更加轻便,这当然不能少了插件的加持--使用 CtrlP 让你的操作更加得心应手。

齐全的帮助文档是 vim 插件的优良传统,CtrlP 自然也不例外。看过文档之后,会惊讶于它提供的功能要比预想中丰富的多。本文只介绍其中的一小部分,包括一些最必要和常用的操作,更多详细信息请使用 :help CtrlP 查看文档。

基本用法

CtrlP 的用法看似很简单--普通模式下按 Ctrl+P 组合键,窗口底部会出现显示文件名的窗口和 CtrlP 的状态栏。重要的是状态栏的右侧,显示了当前 CtrlP 的工作路径。当在命令行输入文本时 CtrlP 会过滤这个路径和子目录下相匹配的文件。Ctrl+JCtrl+K 上下选择窗口中的文件,通常匹配程度高的结果在下,当前光标也位于最底部,因此 Ctrl+K 按键更为常用。选中文件后按 Enter 在当前窗口编辑,Ctrl+T 则会打开新的标签页。

实用命令

以上便是最基本的用法,实际上只是几个按键的简单操作,下面会用更加简短的方式来列举一些使用的命令。

模式

默认情况下,打开 CtrlP 后可以按 Ctrl+F 来在 file, buffer 和 mru 模式间切换。只有熟练使用 CtrlP 的各种模式才能够真正做到高效。例如当长时间编辑几个特定的文件时,buffer 模式就比 file 更为方便。mru 模式记录了最近打开的文件,是十分强大和实用的功能。在缺乏插件支持的情况下,vim 想要重新编辑一个已经退出的文件相当麻烦,mru 模式可以轻松的解决这个问题。此外 mru 模式的文件按照编辑顺序排列,十分符合直觉。

Ctrl+D 可以在 CtrlP 的 file 匹配模式和 path 匹配模式间切换,顾名思义,file 只匹配文件名,path 还可以匹配路径,适合在目录结构较深的项目中。

除了上面介绍的模式外 CtrlP 还包含很多其他模式,如 Dir,Line,Tag 等,具体可以参照文档。

参考