作家必备的超棒 Vim 插件

466 位读者喜欢这篇文章。
Typewriter keys

April Killingsworth 拍摄。Rikki Endsley 修改。CC BY-SA 2.0 许可。

Vim 是程序员、Web 开发者和 GNU/Linux 高级用户中最流行的文本编辑器之一。这并不令人惊讶,因为 Vim 提供了高速编辑、可扩展性,并且预装在大多数基于 Linux 的发行版中。

此外,Vim 为作家带来了巨大的好处,无论他们是否精通技术。我个人不仅使用它来编辑配置文件和网页,还用来撰写博客、软件文档、笔记和演示文稿幻灯片。在我看来,它唯一潜在的问题可能是其相对陡峭的学习曲线。我记得我花了大约两周的时间才习惯在其中工作,但从那时起,与我以前使用过的其他编辑器相比,编辑任何类型的文本都感觉明显更加流畅。

在本文中,我将分享一系列帮助我更高效地创建文档,并减少语法、文体和排版错误的插件。

注意:我使用带有 Qt 界面Neovim,但是所有这些插件都应该可以在任何稳定版本的 Vim 上工作。

语法和词汇用法

即使确保文本不包含语法错误的最佳方法是让人工审阅,但在没有人有时间校对你的工作时,语法检查器仍然很有价值。vim-languagetool 和 vim-grammarous 插件集成了 LanguageTool,它可以检查 Vim 拼写检查器未涵盖的错误。目前它支持 31 种语言

LanguageTool plugin

LanguageTool 插件

如果你对更轻量级的解决方案(仅限英语)感兴趣,vim-wordy 是一个不错的选择。此插件不依赖于 Vim 之外的任何东西,它会在当前文件中查找基于措辞软弱、术语、委婉短语等的错误。

同义词词典

同义词词典可以通过列出特定单词或短语的同义词,让你访问更广泛的词汇。多语言同义词词典查询/替换插件 检查光标下当前单词(或视觉模式下突出显示的多个单词)的可用同义词,并使你能够轻松地用任何建议替换它们。目前支持的语言有英语、中文、俄语和德语。

一些 后端 与特定的在线服务(例如,Thesaurus.com)一起工作。其他后端需要本地数据库,例如你可以从 Gutenberg.org 或 OpenOffice 的英语同义词词典下载的数据库。

Thesaurus plugin

同义词词典插件

排版规则

在典型的键盘上,只能找到直引号(字符 ' 和 “),许多人根据自己的风格指南决定是否使用。但是,如果你想遵循 排版规则,请使用弯引号和撇号。同样,使用 en 破折号em 破折号 代替单连字符 (-),并使用三个点代替 省略号

由于我是那种通常会注意这些规则的人,所以我安装了 UniCyclevim-textobj-quote。激活后,UniCycle 会将所有直引号转换为弯引号,将三个点转换为省略号,并将两个或三个连字符分别转换为 en 破折号和 em 破折号。除了对引号执行相同的操作外,vim-textobj-quote 还提供了在开始和结束引号之间导航、用引号包围单词等功能。

注意:如果你想插入超出上述两个插件范围的字符,二合字母组合键 也是不错的解决方案。

无干扰写作

正如 Cal Newport 在他的书《Deep Work》中所声称的那样,我们在工作中遇到的干扰越多,我们的效率就越低。根据我自己的经验,我可以证实这是真的。幸运的是,你可以随时轻松地减少(和恢复)编辑器中可能分散注意力的视觉元素。

在阅读了博客上题为“The Darnedest Thing”的文章后,我遇到了 GoyoLimeLight。Goyo 禁用或隐藏除文件内容和状态栏之外的所有内容,并使用无边框拆分(或使用 Vim 术语“窗口”)将文本居中。状态栏也只保留最重要的部分,例如显示你是否处于插入或可视模式、成功保存的消息等。另一方面,LimeLight 会使除活动段落之外的所有段落(特别是前面和后面都有空行的非空行)变暗,以便你可以专注于当前正在编辑的段落。

LimeLight plugin

LimeLight 插件

专注于精雕细琢

我相信写作可以被认为是精雕细琢,因为它需要时间和细致的专注,才能有效地将你的信息传达给尽可能广泛的受众。为此,选择合适的工具至关重要。我选择了 Vim 和我提到的插件,因为我可以专注于我的工作并更快地交付成果。

你是否使用任何 Vim 插件来帮助你写作?我很乐意听到你的建议。

标签
User profile image.
Zsolt Szakács 是一位自由和开源软件爱好者、压力专家、翻译、Web 开发者和作家。你可以在他的作品集中找到更多关于他的信息。

12 条评论

谢谢!正是我昨天应该寻找的东西今天出现在我的 RSS 订阅中。我非常感谢这样的文章。

和你一样,我使用 Vim 处理一切事务,除了演示文稿。我用 vim 编写代码、博客文章、笔记和短篇小说。我已经非常习惯它了,所以当尝试使用其他编辑器时,我总是按 :w 来保存而不是 CTRL-S。我曾尝试使用插件或配置来创建一个更适合写作模式的 vim,但没有什么真正坚持下来,我又回到了几乎标准的设置。我唯一改变的是获得 Solarized 外观,并且我用 Markdown 编写大部分内容,因此它很容易在那里阅读,也很容易转换为 LaTeX、PDF 甚至 Word 格式。我将我在 One Note 中完成的工作笔记更改为所有 markdown 文件,并将超过 800 MB 的内容缩小到小于 800 kB,包括图片。

这里有一些不错的插件... 绝对有一些我以前从未接触过的。我尝试过一些专注于写作的插件,但我的基本设置是 vim-markdown、vim-airline 和 pencil。当我转换为输出文件供其他人阅读时,我依靠 pandoc 来转换我的排版字符(引号、破折号等)。

感谢这篇精彩的文章!

我过去曾在 latex 文档上尝试过 vim-grammarous。它似乎很难处理所有 Latex 符号,给出了相当多的误报... 你也经常使用 LaTeX 吗?你是如何解决这个问题的?

我过去曾大量使用 LaTeX(最近发现了 Pandoc,它允许我将 Markdown 转换为 .tex 和 .pdf 文件),但我遇到过很多次误报,尤其是在 LaTeX 命令上(即使使用 vim-Languagetool)。

虽然我还没有找到真正的解决方案,但我决定将语法和拼写检查留到写作的最后步骤。(Vim 的拼写检查器,在我看来,对于匈牙利语等语言来说甚至更成问题,因为它使用 Aspell 而不是 Hunspell。)

回复

Zsolt,作为 vi 和后来的 vim 的长期用户(我第一次接触 vi 可以追溯到 1984 年,从那时起它一直是我的首选),我真的非常感谢你整理的这份很棒的列表。谢谢!!!

有点跑题,但对于那些喜欢 vi(m) 但又想要一个功能齐全的 IDE 来进行编程工作的人来说,Netbeans 有一个名为 jVi 的插件,它可以使代码屏幕响应那些 vi 肌肉记忆……

有人知道是否有更“现代”版本的 UniCycle 插件适合使用像 vim-plug 这样的现代 Vim 包管理器安装吗?

Creative Commons License本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
© . All rights reserved.