如何在vim中实现项目特定的缩进?

我正在研究几个项目,每个项目使用不同的缩进样式(适用于各种文件类型).例如每个缩进级别的1个选项卡,2或4个空格等.如何自动切换这些不同的样式?我正常偏好使用标签缩进,但我厌倦了在使用空格缩进代码时一直输入:set expandtabs.可能的解决方案将包括根据文件路径或项目根目录中的某些配置加载一段vim配置.有没有一个插件,以优雅的方式为我解决这个问题?
>查看cinoptions选项和softtabstop选项(和expandtab,但是你知道).
>在你的’〜/ .vimrc’中,为每个保存一些项目源的目录定义缓冲区条目自动命令,如:
augroup ProjectSetup
au BufRead,BufEnter /path/to/project1/* set et sts=2 cindent cinoptions=...
au BufRead,BufEnter /path/to/project2/* set noet sts=4 cindent cinoptions=...
augroup END

如果项目混合了语言,需要不同的设置,那么你也可以
添加如下扩展:

au BufRead,BufEnter /path/to/project1/*.{c,h} set noet sts=0 cindent cinoptions=...
au BufRead,BufEnter /path/to/project1/*.py set et sts=4

相关文章

解决方案:解决linux下vim乱码的情况:(修改vimrc的内容)全...
Linuxvi/vim所有的UnixLike系统都会内建vi文书编辑器,其他的...
      vim正则匹配:空行:/^$/  /^[\t]*$/注释...
$select-editorSelectaneditor.Tochangelater,run'sele...
上次手贱忘了保存,这次就简单做个备忘吧,把踩过的坑记一下...
Linux之文本编译器小结vim的优势所有的UNIX-LIKE习通都会内置...