多语言编程必备的十大 Vim 插件
创始人
2024-03-02 04:07:43
0

使用这 10 个 Vim 插件,可以让你在写代码或运维时,感觉更棒。

我使用 Vim 文本编辑器大约 20 年了。有一段时间,我一直在定制我的 Vim 配置,但在只有在最近两年我才会使用插件。

最近,当我重新安装系统时(就像我经常做的那样),我觉得这是一次好的机会,我想找出多种编程语言环境下的最佳 Vim 插件,以及如何将这些插件和每种语言结合起来。

有时,我会为特定的语言和配置使用特定的插件(例如,我只在 Ansible 配置中安装 Rocannon),在此不细讲了。不过下面介绍的 10 个 Vim 插件都是我的最爱,无论使用哪种编程语言,我几乎都会使用它们。

1、Volt

我的首选并不是一个插件,但是它可以替换类似于 Vundle 的插件,所以在此介绍。

Volt 是一个不依存于 Vim 的 Vim 插件管理器。你可以用它安装插件,并创建名为“profile”的插件组合。你可以使用一个简单的命令 volt profile set myprofile 启用新的配置。这样我可以做到这样的事情,如为 Python 配置单独启用 indentpython 插件。Volt 还提供了一种针对每个插件配置的简单方法,这些配置会在“profile”之间共享,因此只需要安装一次插件,就可以在多个“profile”之间使用。

Volt 还是相对较新且不够完美(比如,不管你想要使用多少个“profile”,每个插件只能有一个配置文件),但除此之外,我发现它非常方便、快速和简单。

2、Vim-Rainbow

除了 Python,几乎所有的主流编程语言都使用括号(小括号、方括号和大括号)。通常,它们会嵌套使用多对括号,因此很难搞清楚某个括号的开闭区间。我发现自己经常要数小括号,尤其是在复杂的 Bash 脚本中,以确保无误。

这时候就需要 vim-rainbow 插件!它为每对括号设置不同的颜色,因此很容易识别出哪些括号是一对括号。它非常有用而且五彩斑斓。

vim-rainbow plugin

3、lightline

Vim 有很多这种插件,例如 Powerline,它会在底部栏显示你正在处理的文件、光标所在的文件位置以及文件类型等信息。这些插件各有利弊,在简单比较后,我选择了 lightline。它相对较小,便于安装和扩展,并且不依赖于其他工具或插件。

Lightline plugin

4、NERDTree

NERDTree 是一个很经典的插件。在大型项目中,你可能很难找到想要编辑的内容所在文件的确切名称和路径。使用快捷键(我使用的是 F7,因为我在 .vimrc 中配置了这个快捷键),搜索窗会以垂直分屏的方式打开,就可以轻松找到所需文件并打开它。对于大型项目,这是必备插件。对于那些经常忘记文件名的人也很有用,比如我。

NERDTree vim plugin

5、NERD Commenter

程序员们在写代码时,有时会遇到一些难以调试的问题,导致他们想要注释或不执行某段代码。这时候就需要 NERD Commenter 出场了。选择代码段,按 Leader 键 + cc,代码就会被注释掉。(标准的 Vim Leader 键 是 / 字符。)按 Leader 键 + cn,取消注释。对于大多数文件类型,NERD Commenter 会自动使用正确的注释符。例如,如果你正在编辑 BIND 区域文件,并将文件类型设置为 BIND 区域文件,Vim 会正确地使用 ;(分号)字符进行注释。

NERD Commenter

6、Solarized

我喜欢我的 Vim 主题配色。我也喜欢终端的主题色。我一直在 Vim 上使用 Solarized 配色,并且将我的终端、文件夹配色和 Vim 设为一致。

但是,有时我会根据周边环境、屏幕亮度以及是否需要分享投屏,来切换明暗模式。

显然,你可以选择自己喜欢的任何配色方案,但我喜欢 Solarized,因为它有明暗模式功能,它可以简单快捷地切换两种模式。我的第二个选择是 Monokai。Volt 插件管理器让我可以轻松地在两者之间切换,因此我在 Python 编程时,使用 Monokai;Bash 编程时,使用 Solarized。

我没有给 Solarized 找相应的图片,因为本文中的所有其他图片都使用了 Solarized 中的浅色或深色效果,可以确认一下这些图片。

7、fzf

当寻找一个文件时,有时你想要一个文件浏览器,有时你只想在键盘上敲打出与文件名模糊匹配的内容,对吗?

fzf(全称 “模糊查找器”)插件提供了这一功能。打出 :FZF 并输入文件名内容。不断缩短的列表将显示出与你输入的文件名内容相匹配的一些文件。我经常使用它,最近使用它的频率估计比使用 NERDTree 还多。缺点是这个插件依赖于 fzf binary,因此也必须安装这个依赖包。它适用于 Fedora、Debian 和 Arch,据我所知并不在 EPEL 中。

fzf Vim plugin

8、ack

有时,你需要搜索包含特定行或特定单词的文件。我真的很喜欢使用 ack 插件,最好与 ag 结合使用,它俩的组合又被称为 “silver searcher”。这一组合的速度非常快,覆盖了 grepvimgrep 的绝大多数使用场景。缺点是你需要安装 ackag 才能正常运行。好消息是 Fedora 和 EPEL7 都可以使用 agack

ack vim plugin

9、gitgutter

大多数 IT 人员都使用 Git 和 Git 仓库中的文件进行工作。gitgutter 插件在行号附近添加了一列,通过符号显示该行的状态为:已更改(~)、已添加(+)或者已删除(-)。这有利于跟踪你所做的更改,并且可以使你专注于手头的任务,例如编写补丁来修复一个关键错误。

gitgutter vim plugin

10、Tag List

如果你在一个很大的文件中编写代码,会很容易忘记当前所在的位置,你可能需要上下滚动来查找某个功能。使用 Tag List 插件,只需要输入 :Tlist,就能垂直分屏显示出包含变量、类型、类和函数的代码,你可以轻松跳转到这些变量、类型、类和函数。这个功能对于多语言同样适用,例如 Java、Python 以及任何能够使用 ctags 功能的文件类型。

以上介绍的 10 个 Vim 插件使我作为系统管理员和兼职程序员的生活变得更轻松。你正在使用哪些 Vim 插件?请在评论中分享你最爱的插件。


via: https://opensource.com/article/19/11/vim-plugins

作者:Maxim Burgerhout 选题:lujun9972 译者:hello-wn 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

久其软件:公司AI编程是基...
每经AI快讯,有投资者在投资者互动平台提问:公司在AI编程上有什么...
2025-08-05 22:13:19
拆箱开源版Coze:Age...
一水 发自 凹非寺 量子位 | 公众号 QbitAI 搞Agent...
2025-07-28 12:42:42
扣子官宣开源,掀桌大动作背...
作者 | 褚杏娟、蔡芳芳 7 月 26 日,字节将 AI Age...
2025-07-28 10:42:55
等了30年,微软MS-DO...
曾经称“开源是毒瘤”时有多么嫌弃,现在“微软 ❤️ 开源”就有多么...
2025-06-26 09:11:25
Vim编辑器使用
什么是vim?Vim 是从 vi 发展出来的一个文本编辑器。代码补...
2025-05-31 19:54:52
【IDEA插件开发】环境搭...
基础信息 GRADLE 7.5.1 IDEA IntelliJ I...
2025-05-29 20:47:04

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
从 Yum 更新中排除特定/某... 作为系统更新的一部分,你也许需要在基于 Red Hat 系统中由于应用依赖排除一些软件包。如果是,如...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...
如何检查你的 Linux 系统... 不知道在使用哪个初始化系统?以下是方法。每个主流 Linux 发行版(包括 Ubuntu、Fedor...