我的 vimrc 中有以下内容:
set tabstop=8
set shiftwidth=4
set softtabstop=4
set expandtab
set backspace=indent,eol,start
set autoindent
这就是我想要的:仅插入空格,从不插入制表符;按制表符插入 4 个空格;自动缩进是 4 个空格。
如果我缩进 n 级并在插入模式下按下退格键,我会返回 1 个缩进级别 (1 sts) 到级别 n-1。
我该如何配置退格键,使它返回一个空格?
答案1
这似乎有效:
imap <BS> <Left><Del>
更新: 这会使退格键在左边距表现得很奇怪。此方法可修复该问题:
set whichwrap+=[
答案2
删除“set softtabstop=4”也将为您提供所需的退格行为,尽管它可能会破坏您习惯的其他行为。
答案3
你可以使用
set tabstop=4 shiftwidth=4 expandtab
并删除
set softtabstop=4
并忘记标签。
根据我的经验,用于构造文本的标签迟早会变成一种麻烦。