Kakoune 用于开发 Fuchsia

Kakoune 是一种受 vim 启发的模态文本编辑器。请参阅 why-kakoune - 解释为什么您可能需要使用它而不是 vim 或任何 其他编辑器或 IDE。

行号

将以下代码添加到 kakrc 以启用相对行号(请注意,这是 等同于 vim(如果同时设置了 numberrelativenumber),这意味着 系统会显示主光标所在行的绝对行号)。

add-highlighter global/ number-lines -relative

移除了绝对行号 -relative

插件管理器

plug.kak 是一个插件管理器,其灵感源自 vim-plug。它是 安装和管理插件的推荐方法。请参阅 GitHub 自述文件 安装和使用说明。

添加插件的基本工作流程如下:

  1. kakrc 添加配置,用于命名并配置所需的插件 安装。
  2. 请重启 Kakoune,以便重新加载kakrc
  3. 运行 :plug-install 以安装该插件。

缩进和对齐

对于缩进和对齐,推荐的设置是使用 对 editorconfigsmarttab.kak 插件。自然,这依赖于 .editorconfig 配置文件位于 Fuchsia 根目录或上层 结账。将以下代码行添加到 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
}

请注意,退格键始终会删除 缩进上下文,softtabstop 的值仅影响 空格在对齐上下文中删除。建议将值设置为 4 default;其他替代方案包括:

  • %opt(indentwidth),以使用 indentwidth 的值,或
  • 一个非常大的数字,以致于删除所有对齐空格,并使用一个 退格键的输入。

LSP 客户端

kak-lsp 是语言服务器协议 (LSP) 客户端, 编写代码。有关安装说明,请参阅 GitHub 自述文件。

默认的 kak-lsp.toml 为 C 和 C++ 运行 clangd,即 gopls rustup which rust-analyzer 适用于 Rust。修改 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 文件类型支持包括语法突出显示和缩进。唯一 自动格式化程序存在未实现的缩进行为 是表字段和联合字段的冒号对齐方式。