我使用 Vim 文本编辑器大约有二十年了。有一段时间,我一直在自定义我的 Vim 配置,最近几年才开始使用插件。
最近,当我重新设置我的环境(我经常这样做)时,我决定这是一个好机会,可以确定用于多种语言编程的最佳 Vim 插件,以及为我编程的每种语言组合这些插件的方法。
我确实为特定的语言和配置文件使用某些插件(例如,我只在我的 Ansible 配置文件中安装 Rocannon),而且我不会在这里详细介绍这些插件——那将是一个很长的列表。但是下面描述的 10 个 Vim 插件是我最喜欢的,我在几乎所有的配置文件中都使用它们,无论我使用什么编程语言。
1. Volt
我的首选甚至不是插件;相反,它取代了像 Vundle 这样的插件,所以我在这里列出它。
Volt 是一个 Vim 插件管理器,它在 Vim 之外运行。您可以使用它来安装插件并创建称为“配置文件”的插件组合。您可以使用一个命令启用新配置文件:volt profile set myprofile。这样,我就可以执行诸如仅为我的 Python 配置文件启用 indentpython 插件之类的操作。Volt 还提供了一种简单的方法来进行每个插件的配置。配置在配置文件之间共享,因此您可以安装一次插件并在多个配置文件中使用它们。
Volt 仍然相对较新,并且不完美(例如,无论您使用多少配置文件,每个插件只能有一个配置文件),但除此之外,我发现它非常方便、非常快速且非常简单。

2. Vim-Rainbow
除了 Python 之外,几乎所有主要的编程语言都使用括号。圆括号、方括号和花括号。通常,它们使用多对括号,一对括号嵌入在另一对括号中。弄清楚哪个右括号属于哪个左括号可能会变得困难和烦人。我经常发现自己数圆括号——尤其是在复杂的 Bash 脚本中——以确保我一切都正确。
这是 vim-rainbow 插件来救援!它为每对括号赋予唯一的颜色,因此很容易识别哪些括号彼此对应。它非常有用,而且也非常colorful。

3. lightline
有很多用于 Vim 的插件,例如 Powerline,它们在屏幕底部放置一个栏,以显示您正在处理的文件、您在文件中的位置、文件类型等。这些插件各有优缺点,在简要权衡之后,我选择了 lightline。它相对较小,易于设置,如果您喜欢这种东西,则非常可扩展,并且不需要任何其他工具或插件。

4. NERDTree
NERDTree 是一个经典插件。在大型项目中,可能很难找到包含您需要编辑的行的确切文件名和位置。通过快速按键(在我的情况下是 F7,因为我在我的 .vimrc 配置文件中将 NERDTree 绑定到 F7),资源管理器窗口在垂直拆分中打开,我可以轻松浏览到我想要的文件并打开它。这对于大型代码库来说是必不可少的。或者对于像我这样容易忘记文件名的人来说。

5. NERD Commenter
所有程序员在某些时候都会编写导致难以调试的问题的代码,这导致他们决定注释掉或撤消代码。这就是 NERD Commenter 的用武之地。选择代码,按 Leader+cc,您的代码将被注释掉。(标准的 Vim Leader 键是 / 字符。)按 Leader+cn, ,您的代码将被取消注释。NERD Commenter 应该会自动为大多数文件类型使用正确的注释字符。例如,如果您正在编辑 BIND 区域文件 并将文件类型设置为 bind zone,Vim 将正确使用 ;(分号)字符来注释掉行。

6. Solarized
我喜欢我的 Vim 颜色。真的,我通常喜欢终端颜色。长期以来,我一直在 Vim 中使用 Solarized 配色方案,并且我将我的终端、dir_colors 和 Vim 设置为一致。
但是,我不时地在浅色和深色模式之间切换,具体取决于我所处的环境类型、屏幕上的光线量以及我是否需要将某些内容放在大屏幕上供其他人阅读。
显然,您可以选择任何您喜欢的配色方案,但我喜欢 Solarized 具有浅色和深色模式、轻松切换两者的方法,并且它不会太突兀。我的第二选择是 Monokai。Volt 插件管理器使我可以轻松地在两者之间切换,因此我可以将 Monokai 用于 Python 编程,将 Solarized 用于 Bash。
我没有包含 Solarized 的图像,因为本文中的所有其他图像都使用了 Solarized 浅色或深色,所以请查看它们。
7. fzf
当您查找文件时,有时您需要文件资源管理器,有时您只想在键盘上胡乱输入一些与您要查找的文件名大致相似的内容,对吧?
fzf(或“模糊查找器”)插件为您提供了这个功能。按 :FZF 并开始输入。不断缩短的列表将向您显示与您要查找的内容或多或少匹配的文件。我经常使用这个插件,可能比现在使用 NERDTree 还要多。一个小小的缺点是这个插件有一个外部依赖项 fzf 二进制文件,因此您也必须安装它。它适用于 Fedora、Debian 和 Arch,但我不认为它存在于 EPEL 中。

8. ack
偶尔,您想搜索包含特定行或特定单词的文件。我非常喜欢用于此目的的 ack 插件,最好与 ag 结合使用,ag 是一个被称为“银色搜索者”的命令。这种组合非常快速,并且涵盖了我在使用 grep 或 vimgrep 时会使用的大部分内容。缺点是您需要安装 ack 或 ag 才能使其工作。好消息是 ag 和 ack 都适用于 Fedora 和 EPEL7。

9. gitgutter
大多数 IT 人员都使用过 Git 和 Git 存储库中的文件。gitgutter 插件在您的行号附近添加一列,显示更改 (~)、添加 (+) 和删除 (-) 行的符号。这对于跟踪您所做的更改非常有用,并且可以让您专注于手头的任务,例如编写补丁来修复一个关键错误。此插件存在轻微的性能差距,有时插件需要一秒钟才能赶上您的更改,但它仍然非常有用。

10. Tag List
如果您正在编写任何大型文件的代码,很容易迷失方向,您可能会发现自己上下滚动以查找某个函数。使用 Tag List 插件,您只需键入 :Tlist 即可获得一个垂直拆分,其中包含变量、类型、类和函数,您可以轻松跳转到这些内容。这适用于多种语言,例如 Java、Python 以及 ctags 实用程序可以使用的任何其他文件类型……这很多。

这就是我为您带来的:这 10 个 Vim 插件让我的系统管理员和兼职程序员的生活变得更轻松、更美好。您正在使用哪些 Vim 插件?请在评论中分享您的最爱。
4 条评论