Kakoune 受 vim 启发,是一种模态文本编辑器,如需了解为什么您可能想要使用 vim 或任何其他编辑器或 IDE,请参阅 why-kakoune。
行号
将以下代码添加到 kakrc
以启用相对行号(请注意,这等同于同时设置了 number
和 relativenumber
时的 vim,这意味着主光标所在的行会显示绝对行号)。
add-highlighter global/ number-lines -relative
移除了绝对行号的 -relative
。
插件管理器
plug.kak 是一个受 vim-plug
启发的插件管理器。建议您使用此方式安装和管理插件。如需查看安装和使用说明,请参阅 GitHub 自述文件。
添加插件的基本工作流程如下:
- 将配置添加到
kakrc
,用于命名和配置您要安装的插件。 - 重启 Kakoune 以重新加载
kakrc
。 - 运行
:plug-install
以安装该插件。
缩进和对齐
缩进和对齐的推荐设置是组合使用对 editorconfig 的内置支持和 smarttab.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
}
请注意,退格键始终会在缩进上下文中移除一个缩进的空格,而 softtabstop
的值仅会影响在对齐上下文中删除的空格数量。建议默认值为 4;其他替代方案包括:
%opt(indentwidth)
以使用indentwidth
的值,或者- 非常大,使得所有对齐空格都被删除,只需一个退格键输入。
LSP 客户端
kak-lsp 是使用 Rust 编写的 LSP(语言服务器协议)客户端。如需查看安装说明,请参阅 GitHub 自述文件。
默认的 kak-lsp.toml 运行的是 clangd
(对于 C 和 C++)、gopls
(对于 Go)和 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
以验证您是否正在运行此版本或更高的版本。如果您运行的是旧版本,替代方案包括:
- 从源代码编译;或
在任意位置保存 fidl.kak 的副本,并从
kakrc
中获取它。例如,如果数据保存在kakrc
旁边,则可通过以下方式获取来源:source "%val(config)/fidl.kak"
这之所以有效,是因为
%val(config)
会扩展为可用于找到kakrc
的路径。
FIDL 文件类型支持包括语法突出显示和缩进。自动格式化程序唯一未实现的缩进行为是表和联合字段的冒号对齐。