如何配置Kakoune在插入模式下使用空格实现缩进
Kakoune插入模式空格缩进配置及映射失效修复
一、先搞定全局空格缩进基础设置
要让编辑器默认用空格而非制表符缩进,把以下配置加入你的kakrc文件:
set global tabstop 4 # 自定义一个制表符等价的空格数,比如4 set global expandtab true # 输入制表符时自动替换为空格 set global indentwidth 4 # 缩进宽度和tabstop保持一致
二、修复插入模式的缩进映射问题
你之前的映射没生效,可能是缩进逻辑或语法问题,试试下面两种方案:
方案1:替换为整行缩进的映射
把原来的映射改成:
map global insert <c-gt> '<esc><a-gt>i'
<a-gt>是Kakoune里针对整行(或选中区域)增加缩进的命令,比单独的<gt>更符合日常缩进需求- 缩进完成后用
i回到插入模式的光标位置
方案2:用更可靠的execute-keys写法
如果方案1还是不生效,改用这种更清晰的语法:
map global insert <c-gt> %{execute-keys -draft <a-gt>; insert}
-draft参数让操作不产生撤销记录,更干净- 执行缩进后通过
insert命令回到插入模式
三、排查终端转义序列问题
要是上面的映射都没反应,大概率是你的终端发送的Ctrl+>转义序列和Kakoune识别的<c-gt>不匹配:
- 在终端里输入
showkey -a,然后按下Ctrl+> - 记下输出的转义序列(比如可能是
^[[1;5C) - 把映射里的
<c-gt>替换成这个实际序列,比如:
注意:map global insert '^[[1;5C' '<esc><a-gt>i'^[是通过Ctrl+V再按Esc输入的转义字符,不是直接敲^和[
内容的提问来源于stack exchange,提问作者Lead Vaxeral
相关产品推荐
相关产品推荐

