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 以瞭解任何重大變更。
為了讓 Neovim 更好地與不同的終端模擬器一起工作,我們投入了大量的工作,並且仍在進行中(@justinmk, #7664, #7653, #7720, #7640, #7624, @florolf, #7676 和 @erw7 #8408)
來自 system()
和 :!
的輸出支援多位元組字元,並且也能夠更好地處理控制字元(CR、TAB)(@bfredl, #7844)
display
的新旗標 msgsep
,避免訊息的全螢幕捲動 (@bfredl, #8088)--listen
命令列選項取代了 $NVIM_LISTEN_ADDRESS
的用法 (@justinmk, #8247)
Neovim 將 stdin 視為文字,而不是命令。如果您想以正常模式命令執行 stdin,請使用 nvim -s -
(@justinmk, #7679, @ZyX-I, #6299 和 @b-r-o-c-k, #8276)
Neovim 可識別 (u)rxvt 中的滑鼠事件 (@symphorien, #8309)
巨集在執行時套用 :lmap
(@hardenedapple, #5658)
列表的實作已隱藏在 API 後面,以促進進一步的改進 (@ZyX-l, #7708)。開發人員,尤其是那些移植 vim 修補程式的人,應該看一下wiki 頁面。
nvim_list_uis
@geekodour, #8004)nvim_get_commands
(@nimitbhardwaj, @justinmk, #8375)stdpath
(@docwhat, #6272)nvim_set_client_info
、nvim_get_chan_info
和 nvim_list_chans
(@bfredl, #6743)nvim_buf_attach
/-detach
實作緩衝區變更通知。使用這些函式,您可以訂閱在緩衝區更新時傳送的事件,無論來源或方法為何 (@phodge, @KillTheMule, #7917)Neovim 已被納入 Google Summer of Code(GSOC)。我們有兩位學生致力於有趣的開發
感謝您們的精彩貢獻,並感謝導師 @bfredl 和 @justinmk!
相關專案的 wiki 頁面是不斷成長的專案列表,這些專案以某種方式利用了 Neovim 的擴充功能。以下是自上一期電子報以來新增內容的概要
以下外掛程式已出現在我們的 wiki 中
如果您認為 3 個 C++ 用戶端還不夠,您會很高興聽到第 4 個競爭者加入了戰局
如果您碰巧喜歡沒有列出 API 用戶端的語言,那麼一個好的起點是 文件,並且務必在 gitter 頻道上討論它。
自上一期電子報以來,新增了三個新的 GUI
一些部落格文章討論了一些關於 Neovim 的特定內容
從 Neovim 測試外掛程式
會逐步引導您使用 Neovim 測試基礎架構來測試您的外掛程式Rpc 效能基準測試
展示並測試使用 RPC API 從外掛程式建立摺疊的不同方法。用於 Haskell 開發的 Neovim
展示 Neovim 如何幫助您滿足 Haskell 開發需求一段時間以來,@mhinz 一直在維護 neovim-remote。雖然它僅適用於類 Unix 系統(儘管 Windows 支援也在考慮中),但它解決了一些人們經常詢問的使用案例,例如
為了激起您的興趣,這裡有一個小小的 gif 動圖
比 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 的基礎工作。
Neovim 是一個基於 Vim 的文字編輯器,專為 可擴展性 和 可用性 而設計,旨在鼓勵新的應用和 貢獻。
造訪 #neovim:matrix.org 或 irc.libera.chat 上的 #neovim 與團隊聊天。