有时候Vim会不断更改我的expandtab
设置。我总是想要特定文件类型的空格,但有时候,当我插入一个新行时,它会给我一个标签。
verb set expandtab?
告诉我nonexpandtab
已在此文件中设置:
set autoindent
set expandtab
set shiftwidth=4
set numberwidth=4
set softtabstop=4
set smartindent
autocmd FileType ruby,php,vim,jade,erb,css,scss,html,coffee,javascript setlocal expandtab sw=2 sts=2
au FileType xml exe ":silent 1,$!XMLLINT_INDENT=' ' xmllint --format --recover - 2>/dev/null"
set backspace=indent,eol,start
" Command to set how many spaces
command! -nargs=1 SetSpace call s:SetSpace(<f-args>)
function! s:SetSpace(space)
setlocal expandtab sta
let &sw = a:space
let &sts = a:space
endfunction
究竟在哪里set noexpandtab
?
更新
我注意到当我输入一个新行并且该行恰好缩进为8个空格然后Vim转换为制表符时会发生此问题。如何解决这个问题?
答案 0 :(得分:2)
遗憾的是,:verbose set
并未捕获所有个实例,因此可能没有给出错误答案。
或者,您可以使用vim -V20vimlog
捕获Vim会话的完整日志。退出Vim后,检查vimlog
日志文件是否有可疑命令。