Kakoune 開發 Fuchsia 頻道

Kakoune 是靈感來自 vim 的強制回應文字編輯器。請參閱 why-kakoune 的說明,瞭解為何建議使用 vim 或任何其他編輯器或 IDE。

行號

將以下內容新增至 kakrc 以啟用相對行數 (請注意,如果您同時設定 numberrelativenumber,這就相當於 vim,這表示在主遊標所在的行會顯示絕對行數)。

add-highlighter global/ number-lines -relative

移除絕對行數的 -relative

外掛程式管理員

plug.kak 是靈感來自 vim-plug 的外掛程式管理員。建議您以這種方式安裝及管理外掛程式。如需安裝和使用操作說明,請參閱 GitHub README。

新增外掛程式的基本工作流程如下:

  1. 將設定新增至 kakrc,以便命名及設定要安裝的外掛程式。
  2. 重新啟動 Kakoune 以重新載入 kakrc
  3. 執行 :plug-install 以安裝外掛程式。

縮排與對齊

建議您搭配使用 editorconfigsmarttab.kak 外掛程式的內建支援,設定縮排和對齊方式。當然,這要仰賴在 Fuchsia 結帳根層級或上層的 .editorconfig 設定檔。將下列程式碼新增至 kakrc,然後安裝 smarttab.kak 外掛程式:

plug "andreyorst/smarttab.kak" defer smarttab %{
    set-option global softtabstop 4
}

hook global BufOpenFile .* %{
    editorconfig-load
    autoconfigtab
}
hook global BufNewFile .* %{
    editorconfig-load
    autoconfigtab
}

請注意,Backspace 一律會移除縮排環境中的一個空格縮排,而 softtabstop 的值只會影響在對齊結構定義中刪除的空格數。建議使用 4 做為預設值,其他替代值為:

  • %opt(indentwidth):使用 indentwidth 的值,或
  • 非常大,因此所有對齊空間都以一個 Backspace 輸入刪除。

LSP 用戶端

kak-lsp 是用 Rust 編寫的 LSP (語言伺服器通訊協定) 用戶端。如需安裝操作說明,請參閱 GitHub README。

預設的 kak-lsp.toml 會針對 C 和 C++ 執行 clangd、Go 適用的 gopls,以及 Rust 的 rustup which rust-analyzer。並編輯 TOML 設定檔 進行必要的變更

請至少加入下列設定行,進入 LSP 模式,透過該模式存取所有 LSP 功能。

map global user l %{:enter-user-mode lsp<ret>} -docstring "LSP mode"

檔案類型專屬設定

FIDL

包含 FIDL 支援的第一個發布版本是 v2022.08.11。執行 kak -version 以確認您執行的是此版本或較新版本。如果您使用的是舊版,替代方案如下:

  1. 從來源編譯;或
  2. fidl.kak 的副本儲存至任何地方,然後從 kakrc 取得該副本。舉例來說,如果儲存在 kakrc 旁邊,可以由以下方式來源:

    source "%val(config)/fidl.kak"
    

    之所以有效,是因為 %val(config) 會展開為可以找到 kakrc 的路徑。

FIDL 檔案類型支援包括語法醒目顯示和縮排。未實作的自動格式設定工具唯一出現的縮排行為是資料表和聯集欄位的冒號對齊。