Vim中的“有用”的插件介绍

时间:2023-02-07 20:59:00


1. Syntastic 和 ALE

Syntastic。这是一个老牌的代码检查插件,其 1.0 版本发布在 2009 年。这些年下来,这个插件里积累了好几十种语言的代码检查支持,既有常见的 C、C++、Python、Java、JavaScript 等语言,也有冷门一点的 ACPI、AppleScript、Julia、VHDL、z80 汇编等语言。对于每种语言,它能自动识别已经安装的代码检查器,并在你文件存盘时自动检查代码(也可以手工使用 :SyntasticCheck 命令来检查)。要检查当前文件 Syntastic 识别到了哪些代码检查器,可以使用 :SyntasticInfo 命令;而在 ALE 中没有等价的好用命令。

这两个插件的配置都略显复杂,通常需要你针对每种代码检查器进行配置。因此,总体来说,对代码检查的推荐顺序是:

  • 使用 YCM、Python-mode、Vim-go 等有语言针对性的插件,如果你用的语言被支持,并且插件集成的代码检查功能够用的话
  • 使用 ALE,如果你的语言和代码检查插件它能够支持的话
  • 使用 Syntastic,如果其他选项不适用,或者你需要的检查执行够快的话

2. Renamer

在需要对文件进行批量更名时,会使用 qpkorr/vim-renamer 插件。它提供 :Renamer 命令,会打开当前目录下所有文件的列表。你随后就可以利用 Vim 强大的正则表达式和编辑功能来调整这些名字了。在调整完成后,执行 :Ren 命令即可。

3. Undowarning

Vim 里有跨会话撤销修改的功能,这当然是它的强大的特色功能。不过,有时候也许你会发现,不小心多按了几下 u,你就退回到打开文件之前的版本去了。我想,这很有可能不是你想要的行为吧?如果你,像我一样,希望能够无限制地进行编辑撤销,同时还想在退回打开文件的状态之前能有一个提醒,那 undowarning.vim 可能就是你想要的。

4. Rainbow

代码中括号多了,有时候眼睛就有点看不过来,需要有个更好的颜色提示。因此,就有了很多彩虹效果的 Vim 插件。在这些插件中,我最喜欢的是 frazrepo/vim-rainbow,它最妙的地方是,居然能把 C++ 代码中的尖括号也进行加亮,还能基本不会在出现小于、大于、流输入输出时进行错误的加亮。

5. Auto-pairs

代码中永远有着大量成双成对的符号,输入一个,就自动出来另一个,会是一个非常有用的功能。但这样的功能,也需要处理一些特殊情况,比如,如果程序员输入了一对符号 (),结果千万不能是 ())。在很多现代的编辑器上,这已经是个标准功能了,但 Vim 一直没有类似的功能。实际上,Vim 里已经有插件 jiangmiao/auto-pairs 支持了这个功能,并解决了大部分边角情况。

6. Largefile

如果你经常打开很大的日志文件,那 Vim 的一些自动功能可能不仅帮不了什么忙,反而会拖慢你的编辑速度。有一个 Vim 插件能在文件较大时自动关闭事件处理、撤销、语法加亮等功能,用来换取更快的处理速度和更短的响应时间。这个插件就是 vim-scripts/LargeFile。

7. Markdown Preview

Markdown 本来最适用的场景就是浏览器,纯文本的 Vim 只能编辑,没有好的预览终究是很不足的。Markdown Preview 解决了这个问题,让你在编辑的同时,可以在浏览器里看到实际的渲染效果。更令我吃惊的是,这个预览是完全实时、同步的,无需存盘,而且预览页面随着光标在 Vim 里移动而跟着滚动,效果相当酷。你可以直接到 Markdown Preview 的主页上看一下官方的示意图,我就不在这里放动图了。

这个插件唯一需要特别注意的是,你不能直接把 iamcco/markdown-preview.nvim 放到你的包管理器里了事。原因是它里面包含了需要编译的前端组件,需要下载或编译才行。在它的主页上描述了在不同包管理器里的安装方式,你只要跟着照做就行。

8. Calendar

Calendar 是一个很简单的显示日历的 Vim 插件,在包管理器里的名字是 mattn/calendar-vim。它的功能应该就不需要解释了。

9. Matrix

上面介绍的插件,不管对你有没有用,都可以说是“有用”的。插件也不一定要做有用的事,我的机器一直装着下面这个“没用”的插件,​​uguu-org/vim-matrix-screensaver​​。

10. KillersheepVim

脚本不仅可以做没用的事情,还可以更进一步做娱乐的事情。比如,Vim 的作者 Bram 亲自操刀写了这个“愚蠢的游戏”,vim/killersheep。这当然不是一个真正非常好玩的游戏,不过我也玩通关了。你不妨也试试?小提示:屏幕拉高点,按键重复速度快点,重复前延迟短一点,这样更有助于你打好这个游戏。