新闻简报 #9 - 三人成行

2020 年 4 月

什么是 Neovim?

Neovim 是久负盛名的文本编辑器 vim 的一个分支,专注于可扩展性和可用性。它不是重写,而是对 Vim 的延续和扩展。存在许多克隆和衍生版本,其中一些非常聪明,但没有一个是 Vim。Neovim 是为那些想要 Vim 的优点以及更多功能的用户而构建的。查看 :help vim-differences 中列出的差异列表。

参与

如果您有兴趣为 Neovim 做贡献,请访问 github 页面 获取详细信息。我们拥有出色的测试套件和自动 CI,因此您可以直接参与并尝试。不要害怕打开 PR 以获取评论或仅仅利用基础设施的优势!

要与团队联系,请加入 gitter 频道(也可以通过 IRC 访问),或访问 Neovim subreddit,许多开发人员都会阅读它。参与对话也是一种贡献!

新贡献者致敬:@janlazo 自 2017 年 9 月左右以来一直在为 Windows 支持和移植 neovim 补丁而努力。感谢您!

老贡献者致敬:@jamessan 自 2014 年 3 月就加入了,并且一直非常聪明且乐于助人,一直在为 neovim 的 debian 包 做着巨大的贡献。感谢您!

有什么新消息

上次新闻简报 涵盖了 Neovim 发布的 0.2.2 版本之前的全部内容。两年过去了,该项目一直像往常一样忙碌,不断改进用户和开发者体验。在此期间,我们在 2018 年 6 月发布了 0.3 版本。尽管这份新闻简报发布较晚(在 0.4 版本发布之后),但我们仍然认为它值得介绍 0.3 版本,以防您错过任何内容(0.4 版本将在以后的新闻简报中介绍)。

与往常一样,请查看 Following HEAD 以了解任何重大更改。

0.3 版本面向用户

0.3 版本面向开发者

  • 列表实现已隐藏在 API 后面,以促进进一步的改进(@ZyX-l#7708)。开发人员,特别是从 vim 移植补丁的人员,应该查看 维基页面

  • 已更改的 API 函数
  • 新的 API 函数
  • 通道:支持缓冲输出和字节套接字/stdio(@bfredl#6844)。

  • 现在可以使用适当的 viml 表达式解析器(@ZyX-l#7234)。
    • 它附带各种突出显示组,请查看以下屏幕录制:表达式突出显示演示

不久的将来:即将推出

  • 用于外部 UI 的浮动窗口(@bfredl#6619)。
  • 扩展的标记(@timeyyy#5031)。
  • 内置 LSP 支持(@tjdevries#6856)(请参阅 http://langserver.org/ 了解为什么这可能让您感兴趣)。

围绕 Neovim

GSOC

Neovim 已被 Google Summer of Code(GSOC) 接受。我们有两名学生正在进行有趣的开发工作。

感谢您的出色贡献,并感谢导师 @bfredl@justinmk

相关项目 的维基页面是一个不断增长的列表,列出了以某种方式利用了 Neovim 扩展功能的项目。以下是自上次新闻简报以来的添加内容概述。

插件

以下插件已添加到我们的 维基 中。

  • neomake-multiprocess: 基于 neomake 的异步运行多个进程的 vim 插件。
  • neopipe: 将文本行发送到外部命令并在临时缓冲区中显示输出。
  • nuake: 用于 Neovim 的 Quake 风格终端面板。
  • semshi: 用于 Python 的语义突出显示。
  • vim-ghost: 用于 GhostText 浏览器扩展的 Neovim 客户端(firefoxchrome)。

API 客户端

如果您认为 3 个 C++ 客户端还不够,那么您一定会很高兴听到第 4 个竞争者已加入竞争。

如果您碰巧更喜欢没有列出 API 客户端的语言,那么 文档 是一个很好的起点,请务必在 gitter 频道 上谈论它。

GUI

自上次新闻简报以来,添加了三个新的 GUI。

博客文章

一些专门讨论 Neovim 的博客文章。

一段时间以来,@mhinz 一直维护着 neovim-remote。虽然它目前只在类 Unix 系统上可用(但 Windows 支持正在计划中),但它解决了一些人们经常问到的用例,例如

  • 如何在已存在的 Neovim 实例中打开文件?
  • 如何在 Neovim 终端中打开文件,而不嵌套编辑器实例?
  • 如何远程向运行的 Neovim 实例发送命令?

为了激发你的兴趣,这里有一个小 GIF 图

Opening files from a Neovim terminal

还缺少什么吗?

如果你对 wiki 内容有补充,请直接 编辑 页面,让全世界都知道!

统计

自上次通讯以来的代码行变更

git log  --since="2017-12-16" --numstat --pretty=tformat: --numstat|gawk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s removed lines: %s total lines: %s\n", add, subs, loc }'
added lines: 109127 removed lines: 40267 total lines: 68860

合并的提交

git log  --since="2017-12-16"|wc -l
24167

不同的提交作者

git shortlog -e -s -n --since="2017-12-16"|wc -l
129

文档变更

git log  --since="2017-12-16" --numstat --pretty=tformat: --numstat runtime/doc|gawk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s removed lines: %s total lines: %s\n", add, subs, loc }'
added lines: 4369 removed lines: 3645 total lines: 724

感谢

感谢贡献者、赞助商、错误报告者和支持者。感谢 @justinmk 为这个很棒的项目付出的努力,也感谢 @brammool 的基础工作。

新闻

更多更新请访问 新闻存档。还有一个 RSS 订阅

什么是 Neovim?

Neovim 是一个基于 Vim 的文本编辑器,它为 可扩展性可用性 而设计,鼓励新的应用程序和 贡献

讨论

访问 #neovim:matrix.org 或 irc.libera.chat 上的 #neovim 与团队交流。