Top 10 Vim 插件,用于多种语言编程

使用这 10 个 Vim 插件,让您作为程序员或系统管理员的生活更美好一点。
192 位读者喜欢这篇文章。
OpenStack source code (Python) in VIM

Alex Sanchez。CC BY-SA 4.0。

我使用 Vim 文本编辑器大约有二十年了。有一段时间,我一直在自定义我的 Vim 配置,最近几年才开始使用插件。

最近,当我重新设置我的环境(我经常这样做)时,我决定这是一个好机会,可以确定用于多种语言编程的最佳 Vim 插件,以及为我编程的每种语言组合这些插件的方法。

我确实为特定的语言和配置文件使用某些插件(例如,我只在我的 Ansible 配置文件中安装 Rocannon),而且我不会在这里详细介绍这些插件——那将是一个很长的列表。但是下面描述的 10 个 Vim 插件是我最喜欢的,我在几乎所有的配置文件中都使用它们,无论我使用什么编程语言。

1. Volt

我的首选甚至不是插件;相反,它取代了像 Vundle 这样的插件,所以我在这里列出它。

Volt 是一个 Vim 插件管理器,它在 Vim 之外运行。您可以使用它来安装插件并创建称为“配置文件”的插件组合。您可以使用一个命令启用新配置文件:volt profile set myprofile。这样,我就可以执行诸如仅为我的 Python 配置文件启用 indentpython 插件之类的操作。Volt 还提供了一种简单的方法来进行每个插件的配置。配置在配置文件之间共享,因此您可以安装一次插件并在多个配置文件中使用它们。

Volt 仍然相对较新,并且不完美(例如,无论您使用多少配置文件,每个插件只能有一个配置文件),但除此之外,我发现它非常方便、非常快速且非常简单。

Volt plugin

2. Vim-Rainbow

除了 Python 之外,几乎所有主要的编程语言都使用括号。圆括号、方括号和花括号。通常,它们使用多对括号,一对括号嵌入在另一对括号中。弄清楚哪个右括号属于哪个左括号可能会变得困难和烦人。我经常发现自己数圆括号——尤其是在复杂的 Bash 脚本中——以确保我一切都正确。

这是 vim-rainbow 插件来救援!它为每对括号赋予唯一的颜色,因此很容易识别哪些括号彼此对应。它非常有用,而且也非常colorful。

vim-rainbow plugin

3. lightline

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

Lightline plugin

4. NERDTree

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

NERDTree vim plugin

5. NERD Commenter

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

NERD Commenter

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 中。

fzf Vim plugin

8. ack

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

ack vim plugin

9. gitgutter

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

gitgutter vim plugin

10. Tag List

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

Tag List vim plugin

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

接下来阅读什么
标签
User profile image.
嗨!我是 Maxim,Red Hat 比荷卢经济联盟团队的解决方案架构师和布道者。Red Hat 以各种可能的方式传播开源,这使其成为像我这样的开源爱好者工作的完美公司。

4 条评论

Python 使用括号... 列表、字典等

您是对的,当然。

我最近没有编写很多 Python 代码,我忽略了这个 - 非常明显的 - 错误。

感谢您的评论!

回复 作者 Ngin (未验证)

我喜欢这个列表!肯定会尝试 Tag List。

FZF 具有内置的 Ag,因此您不需要 Ack。

感谢您的评论,Michael!

是的,FZF 的 Ag 功能是我需要研究的东西。我想,我实际上是在安装 FZF 之前开始使用 Ack 插件的,所以我添加了 FZF 功能而不是替换 Ack。一个潜在的第二部分的好主题 :)

回复 作者 Michael Neeley (未验证)

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.