Answers:
对于“以防万一,设置所有这些内容”的答案,我从不满意。我坚持要知道哪些事情设置错误以及如何设置。这是一条命令,它将向您显示此处提到的所有相关设置的值以及它们的最后设置位置。如果没有Last set from
一行,则为默认值。没有set
正确的默认值。
:verbose set autoindent? smartindent? cindent? cinkeys? indentexpr?
noautoindent
nosmartindent
cindent
Last set from ~/.vim/vimrc
cinkeys=0{,0},0),:,!^F,o,O,e
Last set from ~/.vim/vimrc
indentexpr=
Press ENTER or type command to continue
参见:http : //vimdoc.sourceforge.net/htmldoc/options.html# : set-verbose
我要做的就是set smartindent
从插件中删除并添加到我的~/.vim/vimrc
:
set cindent cinkeys-=0#
set expandtab shiftwidth=4 tabstop=4 softtabstop=4
我也是这场战斗,我以为我终于赢了。问题是有多种方法可以覆盖行为(通过插件/语法)。
这是我用来赢得战斗的所有设置:
set nosmartindent
set cindent
filetype plugin indent on
set cinkeys-=0#
set indentkeys-=0#
autocmd FileType * set cindent "some file types override it
使用autocmd
,第一个set cindent
不需要,但这是我不断添加行直到行为消失的那些事情之一。
set indentkeys-=0#
!! 最终我的烦恼结束了!
您可能想查看Vim Wiki缩进源代码页面,并查看'autoindent'的工作方式。
引用此答案:
http://vim.wikia.com/wiki/Restoring_indent_after_typing_hash
修改为:
set nosmartindent
set cindent
set cinkeys-=0#
set indentkeys-=0#
要么:
:inoremap # X<BS>#