Neovim 是歷史悠久的文字編輯器 vim 的分支,專注於可擴展性和易用性。它不是重寫,而是 Vim 的延續和擴展。存在許多克隆和衍生品,有些非常聰明,但沒有一個是 Vim。Neovim 是為那些想要 Vim 的優點以及更多功能的使用者而打造的。請透過 :help vim-differences 查看差異列表。
如果您有興趣為 Neovim 做出貢獻,請訪問 github 頁面 以了解詳細資訊。我們有一個很棒的測試套件和自動化 CI,所以您可以直接開始嘗試。不要害怕開啟 PR 來獲取意見或只是利用基礎設施!
要與團隊聯繫,請加入 gitter 頻道(也可透過 IRC 存取),或訪問 Neovim subreddit,許多開發人員都會閱讀。參與對話也是一種貢獻!
上一個 電子報 涵蓋了 Neovim v0.3.0 的發布,現在是時候對此後發生的最令人興奮的 Neovim 發布版本做同樣的事情:v0.4.4!
Neovim 開始偵測與 xterm 相容的終端機的背景顏色 (@joshtriplett, #9509)
'fillchars'
設定現在有一個 eob
選項,讓使用者可以設定用於表示緩衝區結束後行的字元(先前硬編碼為 ~
)(@FriedSock, #8546)
CursorLine
類型現在會更聰明:如果未設定其前景顏色,則 CursorLine
的文字將使用 CursorLine
的背景顏色和預設語法突顯顏色作為前景 (@zhou13, #8578)。
Neovim 的 'background'
設定現在預設為 dark
,以在各個平台上獲得一致的設定 (@justinmk, #9205)。
Vim 的 TermDebug 外掛程式已移植到 neovim (@kwon-young, #8364)。
使用 wildoptions=pum
,可以將萬用字元選單變成彈出選單 (@bfredl, #9607)。事實上,這是預設值!
現在,當 UI 連線和中斷與 Neovim 的連線時,會觸發兩個事件:UIEnter 和 UILeave (@equalsraf, #6917)。
當進入/離開終端機時,也會觸發 TermEnter
和 TermLeave
自動命令 (usama54321, #8550)。
nvim_buf_get_offset
:傳回一行的位元組偏移量 (@bfredl, #9180)nvim_buf_is_loaded
:檢查是否已載入緩衝區 (@phodge, #7688)。nvim_create_buf
:建立新的緩衝區 (@bredl, #9272)nvim_get_context
/nvim_load_context
:探索和還原編輯器的狀態 (@justinmk, #10619。nvim_input_mouse
:執行滑鼠動作 (@bfredl, #9429)。nvim_open_win
:建立浮動外部視窗nvim_set_keymap
:設定某個模式的全域對應 (@yilin-yang, #9224)。nvim_win_close
:關閉視窗 (@bfredl, #9667)。nvim_win_set_buf
:設定視窗的目前緩衝區 (@justinmk, #9100)nvim_win_set_config
:設定視窗的版面配置 (@mhinz, #9626)。Neovim 現在始終等待 UI 以 –embed 啟動,除非也提供了 –headless (@bfredl, #9024)。
vim.loop
公開給 lua (@zhaozg, @andreypopp, #10123)。Neovim 貢獻者一直努力工作,並為 v0.5.0 新增了許多新功能,例如用 Lua 撰寫的 LSP 用戶端和 TreeSitter 整合。下一個 Neovim 版本承諾會非常吸引人!
相關專案的 wiki 頁面是不斷增加的專案列表,這些專案以某種方式利用 Neovim 的擴充功能。以下是自上一份電子報以來新增功能的要點
以下外掛程式已加入我們的 wiki
許多新的 API 用戶端
python 用戶端也已重新命名為「pynvim」。
也許 2018/2019 年不是 Linux 桌面的時代,但它們肯定是 Neovim GUI 的時代
一些專門討論 Neovim 相關事項的文章
自上次電子報以來變更的程式碼行數
git log v0.3.0..v0.4.4 --numstat --pretty=tformat: --numstat | nawk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s removed lines: %s total lines: %s\n", add, subs, loc }'
added lines: 168844 removed lines: 75466 total lines: 93378
合併的提交
git log v0.3.0..v0.4.4 --pretty=oneline | wc -l
3477
不同的提交作者
git shortlog -e -s -n v0.3.0..v0.4.4 | wc -l
164
文件變更
git log v0.3.0..v0.4.4 --numstat --pretty=tformat: --numstat runtime/doc | nawk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s removed lines: %s total lines: %s\n", add, subs, loc }'
added lines: 9226 removed lines: 7002 total lines: 2224
感謝貢獻者、贊助者、錯誤回報者、支持者。請注意,您現在可以透過 GitHub Sponsors 或 OpenCollective 來贊助 Neovim。 感謝 @justinmk 製作這個很棒的專案,也感謝 @brammool 的奠基性工作。
Neovim 是一個基於 Vim 的文字編輯器,專為 可擴展性 和 易用性 而設計,旨在鼓勵新的應用程式和貢獻。
訪問 #neovim:matrix.org 或 irc.libera.chat 上的 #neovim,與團隊聊天。