欢迎来到 Neovim 的第二份月刊时事通讯,Neovim 是一个旨在成为我们下一款心爱文本编辑器的项目。
在关于 默认 Neovim 设置 的讨论中,有人提出了使用默认配色方案的想法。一个 后来的议题 开始决定使用哪种配色方案。
人们一致认为,一个新的配色方案对 Neovim 来说将非常棒。为此,Neovim 协作者将举办一场竞赛,允许提交配色方案。一段时间后,提交将关闭,然后启动一个新的投票,让社区选出获胜者。
获胜者将获得奖金,他们的配色方案将永远被载入 Neovim 的发行版中。
请关注 Neovim Twitter,了解提交指南和流程的公布时间。
@tarruda 对 Neovim 使用 Vim 的许可证 表达了 担忧。虽然 Vim 许可证仍然适用于原始 Vim 代码,但新编写的代码没有明确说明,可以重新授权。
社区决定使用 Apache 2.0。然后,许可证信息被 更新,并要求所有贡献者通过填写 此文档 并将您的姓名添加到 此 Wiki 页面 来签署 CLA。
这意味着,如果您在切换到 Apache 2.0 之前 贡献了代码,您的代码仍然受旧的 Vim 许可证约束。除非您签署 CLA,否则它不会成为 Apache 2.0 的一部分。
@tarruda 完成了 他的实现,提供了 channel_send_call
函数,允许在其他脚本引擎(如 Python、Ruby 等)中运行代码。
如 @tarruda 指出,代码在另一个进程中运行,阻塞直到客户端响应,具有 3 秒的超时时间,并且调用栈限制为 20。
@tarruda 开启了一个 拉取请求,建议对他过去的一些工作的各种修复和改进。这些更改针对的是作业 API、流 API 以及最后是事件 API。所有这些过去的特性都在上个月的时事通讯中讨论过。
这些更改包括能够通过流发送大量数据,为 msgpack 解析失败添加代码,以及能够锁定到一组事件源的能力。
能够在 Windows 上构建 Neovim 已经很受欢迎,并且是 几个月来的目标。整个讨论可以在 此问题 中查看。
最近取得的进展 是由 @equalsraf 在他试图在 MinGW 下构建 Neovim 时取得的。
要获得在其他平台上构建的帮助,请务必查看新近创建的 构建 Neovim 页面,该页面位于 Wiki 上,包含所有与编译相关的内容。
Garray.c 是 Vim 中的一个数据结构,它为编辑器提供了“growable array”。它一直是过去许多 拉取请求 的目标。
由 @philix 做出的 最新添加 提供了一种更简单的方法来追加到数组中。虽然 garray
仍在改进中,但最终它将被更健壮的解决方案淘汰。
名为 mch_libcall()
的函数在某些清理过程中被暂时删除。它在 Vim 中通过使用 libcall()
函数调用,并被一些插件使用。
讨论从 它的临时删除开始,以及如何重新添加它以保持与 Vim 的兼容性。 @aktau 提出了一个解决方案,然后创建了一个 拉取请求,其中包含新的更改,这些更改已合并。
在上个月的版本中,我们讨论了对 mch_stat
调用的更改。这个重构是由 @stefan991 继续 的,以添加一个新的结构来封装 libuv 的 uv_stat_t
的 st_dev
和 st_ino
。
Neovim 的贡献者来自世界各地的国家。许多母语人士一直在忙于更新他们母语的翻译。
已经更新的翻译包括 德语 和 巴西葡萄牙语。还有 西班牙语 和 瑞典语 等正在进行中。
@stefan991 定制了 Doxygen 主题,使其风格类似于 Neovim.io 的外观。然后,它被 添加到代码库中,用于未来的构建。
努力 用 strlcpy
替换 vim_strncpy
,它成功合并了。然而,这些更改产生了一些 后遗症。
作为回应,@aktau 创建了一个 主问题 来协作处理流程,并讨论最佳前进方向。
引用 @philix 的话,他在 他的评论 中对它做了最好的总结
字符串处理对于文本编辑器来说非常重要,而当前的代码库没有很好的字符串处理抽象(即使我们一直在慢慢改进它)。在如此少的抽象(和大量的底层代码)下能够完成如此多的事情,真是奇迹。
Neovim 的 开发文档 由 Doxygen 自动生成,正在被 迁移到 neovim.io 域名。
除此之外,Neovim 的用户文档也正在 迁移到那里。
为了帮助这个过程,Neovim 新任命的常驻自动机(即机器人)@Marvim 将被配置为自动化这个过程。只是不要 和他谈论生活。
如果您想帮助支持开发,您可以使用比特币进行捐赠,地址为:1Evu6wPrzjsjrNPdCYbHy3HT6ry2EzXFyQ
,或在 Neovim Bountysource 页面上支持团队。
如果您是一位经验丰富的开发人员,或者是一位想要学习但没有经验的开发人员,请访问 GitHub 代码库,并查看 README、CONTRIBUTING 指南,最后是 Wiki,以了解更多信息。
有很多机会帮助他人,还有很多事情要做。
您对这第二份时事通讯有任何反馈或建议吗?欢迎通过 Neovim Twitter 联系我们。
同时,请务必订阅 RSS 订阅,以了解 Neovim 世界的最新动态。下一份时事通讯将在 8 月的第一个星期五左右发布。
下次再见。 :wq
Neovim 是一个基于 Vim 的文本编辑器,旨在 扩展性 和 可用性,以鼓励新的应用程序和 贡献。
访问 #neovim:matrix.org 或 irc.libera.chat 上的 #neovim,与团队聊天。