如何在我的 VIMRC 中设置特定于语法的设置?

sa1*_*125 4 vim indentation vimrc syntax

我每天在 vim 中使用多种语言和标记(ruby、python、javascript、CSS、HTML 等),并且希望在启动编辑器时为每个缓冲区设置不同的设置。如何检测当前缓冲区中加载了哪些语法?

具体来说,我真的更喜欢 python 缩进为 4 个空格,而其他语言则为 2 个。我在我的.vimrc文件中设想了这样的事情:

if syntax == 'python'
  set softtabstop=4
  set shiftwidth=4
else if syntax == 'html'
  " ...
endif
Run Code Online (Sandbox Code Playgroud)

在vim中有类似的东西吗?谢谢。

Ign*_*ams 7

使用FileType自动命令事件。详情请参阅:h autocmd.txt

au Filetype python source ~/.vim/scripts/python.vim
Run Code Online (Sandbox Code Playgroud)

  • 为什么要创建非标准目录?-> ~/.vim/ftplugin ! (2认同)