作为问题Why does vim not obey my expandtab in python files?中描述的问题的解决方案,我已将此添加到我的vimrc中:
let g:use_tabs = 1
let g:indent_width = 4
let g:tab_width = 4
function! SetIndent()
if g:use_tabs
set noexpandtab
set softtabstop=0
let &shiftwidth = g:indent_width
let &tabstop = g:tab_width
else
set expandtab
let &softtabstop = g:indent_width
let &shiftwidth = g:indent_width
let &tabstop = g:tab_width
endif
endfunction
autocmd VimEnter * call SetIndent()
这在终端中运行vim时效果很好,但似乎MacVim根本不运行call SetIndent()
命令。
这是因为MacVim忽略VimEnter
还是在vim之后的另一个时间运行它?
我如何修复我的vimrc,以便它也能在MacVim中运行?
修改:链接到我的完整vimrc:https://ghostbin.com/paste/3xnw7
答案 0 :(得分:2)
Python的默认设置是:
setlocal tabstop=8
setlocal softtabstop=4
setlocal shiftwidth=4
setlocal expandtab
如果您要更改,请说... 'expandtab'
,您只需将下面的行放在~/.vim/after/ftplugin/python.vim
中:
setlocal noexpandtab
是的,对于您不喜欢默认设置的每种文件类型,都应该这样做。与使用函数相比,它更简单,更快速,更可靠,更易于维护。
KISS。