電子報 #9 - 三人行

2020年4月

什麼是 Neovim?

Neovim 是歷史悠久的文字編輯器 vim 的一個分支,專注於可擴展性和可用性。它不是一個重寫版本,而是 Vim 的延續和擴展。存在許多複製和衍生版本,有些非常聰明,但沒有一個是 Vim。Neovim 是為那些想要 Vim 的優點,並想要更多功能的使用者所打造。透過 :help vim-differences 查看差異列表。

參與

如果您有興趣為 Neovim 做出貢獻,請造訪 github 頁面 以瞭解詳細資訊。我們有一個很棒的測試套件和自動化的 CI,所以您可以直接加入並嘗試。不要害怕開啟 PR 來獲得評論,或只是利用基礎設施!

要與團隊聯繫,請加入 gitter 頻道(也可以透過 IRC 訪問),或造訪 Neovim subreddit,許多開發人員都會閱讀。參與對話也是一種貢獻!

新貢獻者致敬:自 2017 年 9 月以來,@janlazo 一直在為 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 修補程式的人,應該看一下wiki 頁面

  • 已變更的 API 函式
  • 新的 API 函式
  • 通道:支援緩衝輸出和位元組 sockets/stdio (@bfredl, #6844)

  • 現在可以使用正確的 viml 運算式剖析器 (@ZyX-l, #7234)
    • 它帶有各種強調群組,請查看以下螢幕錄製:運算式強調顯示示範

不久的將來:即將推出

關於 Neovim

GSOC

Neovim 已被納入 Google Summer of Code(GSOC)。我們有兩位學生致力於有趣的開發

感謝您們的精彩貢獻,並感謝導師 @bfredl@justinmk

相關專案的 wiki 頁面是不斷成長的專案列表,這些專案以某種方式利用了 Neovim 的擴充功能。以下是自上一期電子報以來新增內容的概要

外掛程式

以下外掛程式已出現在我們的 wiki

  • neomake-multiprocess:一個 vim 外掛程式,用於根據 neomake 非同步執行多個程序
  • 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 feed

什麼是 Neovim?

Neovim 是一個基於 Vim 的文字編輯器,專為 可擴展性可用性 而設計,旨在鼓勵新的應用和 貢獻

討論

造訪 #neovim:matrix.org 或 irc.libera.chat 上的 #neovim 與團隊聊天。