有时Vim会不断更改我的expandtab设置.我总是想要特定文件类型的空格,但有时候,当我插入一个新行时,它会给我一个标签.
verb set expandtab?
Run Code Online (Sandbox Code Playgroud)
告诉我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
Run Code Online (Sandbox Code Playgroud)
到底在哪里set noexpandtab?
更新
我注意到当我输入一个新行并且该行恰好缩进为8个空格然后Vim转换为选项卡时会发生此问题.如何解决这个问题?
不幸的是,它:verbose set并没有捕获所有实例,因此它可能不会给出答案或给出错误的答案。
或者,您可以使用 捕获 Vim 会话的完整日志vim -V20vimlog。退出 Vim 后,检查vimlog日志文件中是否有可疑命令。