如果我用vim打开一个python文件,并使用此命令将其设置为具有标尺和自动换行符:
:set textwidth=109 colorcolumn=110
Run Code Online (Sandbox Code Playgroud)
它就像一个魅力!但是......如果我编辑~/.vimrc并在底部添加此行
autocmd FileType py set textwidth=109 colorcolumn=110
Run Code Online (Sandbox Code Playgroud)
退出python文件,再次打开它,没有任何反应.似乎某些东西覆盖了我的设置,但无法弄清楚这是做什么的(因为我对vim相当新).我的基本vimrc文件是这样的:https://github.com/amix/vimrc/blob/master/vimrcs/basic.vim
有人能指出我正确的方向,我做错了什么?
注意:当我尝试在缩进中"替换"带有2个空格的Tabs时,Javascript文件也会发生同样的事情:
autocmd FileType js setlocal sw=2 sts=2 et
Run Code Online (Sandbox Code Playgroud)
问题是正确的文件类型是python和javascript(或类似,javascript.jsx如果你有其他语法文件),不是py和js.您可以检查用于文件的文件类型:set ft?.
此外,您可能更喜欢setlocal(仅影响当前缓冲区)而不是set.