优秀的 Vim 写作插件

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

April Killingsworth。Rikki Endsley 修改。CC BY-SA 2.0。

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

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

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

注意:我使用带有 基于 Qt 的 GUINeovim,但是所有插件都应该与任何稳定的 Vim 版本一起使用。

语法和词汇用法

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

LanguageTool plugin

LanguageTool 插件

如果您对更轻量级的解决方案(仅适用于英语)感兴趣,vim-wordy 是一个不错的选择。 此插件不依赖于除 Vim 之外的任何东西,它会根据薄弱的措辞、术语、含糊不清的短语等查找当前文件中的错误。

同义词词典

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

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

Thesaurus plugin

同义词词典插件

排版规则

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

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

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

无干扰写作

正如 Cal Newport 在他的书“深度工作”中所说,我们在工作中遇到的干扰越多,我们的生产力就越低。 从我自己的经验来看,我可以证实这是真的。 幸运的是,您可以随时轻松减少(和恢复)编辑器中可能分散注意力的视觉元素。

阅读了博客上题为“最该死的事情”的文章后,我遇到了 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 来转换我的排版字符(引号、破折号等)。

我一直在使用 Pandoc 几周了(我计划在另一篇文章中写到它),但我没有注意到引号被转换为弯引号。 所以,谢谢你指出这一点!

回复 作者 Jason van Gumster

我相信你需要使用 -S (--smart) 选项来启用正确的引号转换,但是,是的……它真的非常方便。

回复 作者 zsolt

感谢这篇精彩的文章!

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

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

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

回复ron89 (未验证)

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

稍微跑题一下,对于那些喜欢vi(m)但又想为他们的编程工作使用功能齐全的IDE的人来说,Netbeans有一个名为jVi的插件,它能让代码屏幕对那些vi的肌肉记忆做出反应......

有人知道是否有更“现代”版本的UniCycle插件,适合用一些现代的Vim包管理器(如vim-plug)安装吗?

我通过vimplug安装了UniCycle。 你有没有尝试在.vimrc中输入 "Plug 'unicycle'",或者插件还有其他问题?

回复Gour (未验证)

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