Neovim 是以 C 語言撰寫核心、以 Lua 作為擴充語言的終端文字編輯器,專案於 2014 年 1 月建立,GitHub 星標累積至 103,037 顆、複製數 7,174 次、提交數 38,416 次,貢獻者約 433 位。0.12 版本於 2026 年 3 月 29 日發佈,最新修補版 v0.12.6 於 10 月 9 日推出。此系列最受關注的改動,是以實驗性的 ui2 重新設計訊息與命令列介面,並一次補齊多項語言伺服器協定能力,同時在效能與內建工具上作出調整。

本文依據官方儲存庫的 README、版本更新文件與 GitHub 公開統計資料整理,先說明專案定位,再依序分析介面重構、語言伺服器協定進展、效能與編輯功能、專案數據,以及採用前需要留意的授權範圍。

Neovim 儲存庫 README 開頭,顯示專案名稱與官方標誌,並列出專案目標:簡化維護、鼓勵貢獻、把工作分配給多位開發者、在不修改核心的前提下支援進階介面,以及最大化擴充性,後接功能清單與支援的程式語言列表

Neovim 0.12 是什麼?

Neovim 是 Vim 的重構分支,以 C 撰寫核心、Lua 撰寫擴充層,內建非同步工作控制與多語言 API,目標是在保留 Vim 操作習慣的前提下改善維護性與擴充性。

專案自 2014 年起以獨立程式碼庫發展,定位並非重寫一個全新編輯器,而是把 Vim 的核心進行結構化重構。官方列出的四項目標分別是簡化維護並鼓勵貢獻、把工作分配給多位開發者、在不修改核心的前提下支援進階介面,以及最大化擴充性。這樣的取捨讓編輯器可以透過外部程式與圖形介面接管顯示層,而不必把介面邏輯寫進核心。

擴充層面的設計是此專案與原始 Vim 最大的差異。它提供以 MessagePack-RPC 為基礎的 API,可從 C、C++、C#、Go、Java、JavaScript、Julia、Lua、Python、Ruby、Rust 等多種語言存取,因此圖形介面、外掛與工具鏈可以由不同語言的社群分別開發。專案同時內建可腳本化的終端模擬器、非同步工作控制,以及多個編輯器實例之間共享的資料檔案。

在相容性方面,它支援絕大多數 Vim 外掛,包含以 Ruby 與 Python 撰寫的外掛,並提供從 Vim 遷移的說明文件。這使既有使用者的設定與操作習慣可以在低改動成本下延續,同時換取更快的議題處理速度與更活躍的社群參與。

Neovim 0.12 的介面重構有哪些重點?

0.12 以實驗性的 ui2 重新設計訊息與命令列介面,取代舊有訊息格線,避免輸入提示中斷與唯讀檔警告延遲,並將分頁檢視器改為緩衝區加視窗的形式。

ui2 是本系列最具方向性的改動。官方說明它將取代終端介面中沿用多年的訊息格線,改以更貼近現代終端能力的繪製方式呈現訊息與命令列。具體改善包含避免出現需要按下 Enter 才能繼續的中斷畫面、消除輸入「正在修改唯讀檔案」等警告訊息時的延遲,以及在輸入命令時即時標示命令列內容。

檢視器的實作方式亦隨之改變。過去在訊息較多時依賴固定格線捲動,如今改為以緩衝區加上視窗的形式提供,讓使用者可以用熟悉的編輯器操作瀏覽輸出內容。這項能力目前標示為實驗性,需要透過 Lua 指令手動啟用,官方在版本文件中明確標注其狀態,尚未列為預設行為。

介面層同時加入兩項對長期使用者實用的指令。:restart 可重新啟動編輯器並重新連接目前的介面,:connect 則能把目前的介面動態連接到指定位址的伺服器。此外,錯誤訊息文字經過精簡,例如「正在處理時偵測到錯誤」改為更短的表述,浮動視窗亦可顯示狀態列,讓外掛在呈現資訊時有更多選擇。

Neovim 儲存庫首頁頂部,顯示儲存庫路徑 neovim/neovim、星標數約 103k、複製數約 72k、分支與標籤數量,以及最新提交紀錄與儲存庫說明,主要語言標示為 Vim Script,主題標籤包含文字編輯器與 Lua

Neovim 0.12 的 LSP 能力有什麼進展?

此版本補齊行內補全、程式碼鏡頭與文件連結等語言伺服器能力,並新增逐行語意權杖請求與互動式客戶端管理。

語言伺服器協定是現代編輯器的核心功能,0.12 在此補上多項過去缺席的能力。官方版本文件列出新增或重新實作的請求,包含行內補全、程式碼鏡頭、文件連結、連結編輯範圍、輸入時格式化、選取範圍,以及文件顏色與顏色呈現等。原本以外部外掛提供的部分功能,如今可以由內建實作承接。

補全體驗亦有實質調整。補全函式新增自訂排序選項,支援彩色符號預覽,並在補全選項設定包含彈出視窗時顯示補全項目的詳細預覽。診斷與工作區層面的請求同樣擴充,包含工作區診斷與重新整理機制,讓大型專案可以只針對可見畫面請求語意權杖,減少不必要的資料傳輸。

可用性方面,專案把多項設定與檢查流程整合進內建指令。:lsp 可互動式管理語言伺服器客戶端,:checkhealth 可檢查目前緩衝區連接了哪些功能。官方同時調整了啟用與停用邏輯,使客戶端會依檔案類型自動啟動或卸離,減少使用者手動維護設定的負擔。

Neovim 0.12 在效能與編輯器功能上有哪些改進?

官方指出 LPeg 重寫的樣式比對約快 50%,暫存器插入約快 10 倍,並新增 :uniq 等編輯指令與內建外掛管理工具。

效能改進集中在日常高頻操作。官方以 LPeg 重新實作萬用字元轉換,使複雜樣式約快 50%,並恢復巢狀大括號支援;具名與剪貼簿暫存器的插入改為貼上語意後約快 10 倍,同時避免格式被破壞。外掛載入路徑的快取亦改為就地更新,對啟動時間有明顯影響。

編輯指令層面增補數個實用功能。:uniq 可移除緩衝區中的重複行,:iput 作用類似 :put 但會自動調整縮排,:retab 新增只處理行首空白的選項,:DiffTool 可比較目錄與檔案,:Undotree 則提供視覺化的復原樹導覽。說明文件緩衝區亦支援萬用補全,並可用 :help! 依游標位置推測對應標籤。

終端與啟動流程同樣有調整。終端緩衝區可接收非空內容、支援清除捲動回溯的序列與同步輸出模式,程序暫停與結束狀態改以較不打擾的方式呈現。專案另內建以 Lua 實作的外掛管理工具,並簡化 Python 提供者的設定步驟,讓環境準備從多步操作縮減為單一指令。

Neovim 0.12 的專案數據與維護狀況如何?

專案累積 103,037 顆星標、7,174 次複製、1,016 位關注者與 38,416 次提交,貢獻者約 433 位,最近一次推送為 2026 年 10 月 12 日。

103,037Stars
7,174Forks
1,016Watchers
38,416Commits
433Contributors
Apache-2.0License

Neovim 儲存庫的貢獻者與提交活躍度統計頁面,顯示各主要貢獻者於 2026 年 8 月至 10 月期間的提交分布與時間軸,反映專案維持穩定的日常提交節奏

維護節奏是此專案最顯著的特徵之一。儲存庫累積 38,416 次提交,貢獻者約 433 位,最近一次推送時間為 2026 年 10 月 12 日,與本文整理時間僅相隔一日。專案維持每日提交的頻率,並以近乎每月一次的節奏推出修補版本,0.12 系列自 3 月 29 日發佈後陸續推出 v0.12.1 至 v0.12.6。

版本數量亦反映發布機制的自動化程度。官方另維護每日建置的預覽版本與多個發佈管道,使測試者可以及早取得變更。原始碼庫目前有 1,955 個待處理議題,數量偏高但與大型編輯器專案的規模相符,專案在儲存庫說明中列出貢獻指南與路線圖,方便新參與者理解優先順序。

Neovim 的授權與採用考量有哪些?

Neovim 自指定提交起的貢獻以 Apache-2.0 授權發佈,源自 Vim 的變更沿用具相應授權,採用前需分別確認兩者的條款範圍與標示義務。

授權結構需要分開理解。官方說明在特定提交之後的貢獻以 Apache 2.0 授權提供,而標記為 vim-patch 的部分沿用 Vim 本身的授權條款。對於打算把編輯器核心或部分程式碼嵌入自有產品的團隊,這兩類檔案的條款需要分別確認,特別是授權標示與衍生物散佈的要求。

採用層面的第一個門檻是操作習慣。它以 Vim 的操作模式為基礎,學習曲線與既有 Vim 使用者相近,但對於習慣圖形化編輯器的開發者,仍需投入時間建立肌肉記憶。若需求集中在專案管理、偵錯與視覺化操作,完整整合式開發環境在現階段仍提供較低的前置成本。

外掛生態是另一個需要評估的環節。專案維持對大多數 Vim 外掛的相容性,但部分外掛依賴較新的 API 或實驗性功能,實際可用程度會隨版本而異。建議在正式導入前,先針對日常工作流程所需的外掛與語言伺服器組合進行驗證,並留意實驗性功能未列為預設行為,升級時需要重新確認設定。

出處連結有哪些?

本文資訊整理自 Neovim 官方儲存庫的 README 與版本更新文件,完整原始碼、安裝說明與授權資訊可由下列來源查證。

官方儲存庫位於 https://github.com/neovim/neovim,內含完整原始碼、建置說明、專案結構與授權文件。版本更新內容詳載於儲存庫的 runtime/doc/news.txt,專案官網為 https://neovim.io,其中提供使用者文件與安裝說明。功能差異的完整清單可見 https://neovim.io/doc/user/vim_diff.html,路線圖則公開於 https://neovim.io/roadmap/。

總結:Neovim 適合什麼團隊?

適合已在 Vim 生態深耕、需要非同步外掛與語言伺服器整合的開發者與工具團隊;若只需圖形化介面或完整整合式開發環境,導入前宜先評估學習曲線。

從 0.12 的改動方向觀察,此版本把重心放在基礎介面與協定支援,而非增加表層功能。以實驗性 ui2 取代沿用多年的訊息格線、一次補齊多項語言伺服器協定能力、在樣式比對與暫存器操作上取得倍數級效能改善,這些都屬於長期維護與擴充性層面的投資。

對既有 Vim 使用者而言,它提供低改動成本的遷移路徑與更活躍的維護節奏;對外掛與工具開發者而言,多語言 API 與非同步架構讓整合方式更具彈性。導入前建議先在實際工作流程中驗證所需外掛與語言伺服器組合,並確認 Apache 2.0 與 Vim 授權的適用範圍,以符合團隊的法務要求。