我正在使用Local vimrc进行项目特定的vim设置。我的项目目录中有.lvimrc文件,具有如下所示的特定设置,并且可以正常工作。
query
但是,我无法覆盖clang格式设置,例如,当我运行:ClangFormat时,vim仍使用主文件夹中.vimrc文件中存在的设置
.lvimrc文件中有以下clang格式设置。
set tabstop=2
set shiftwidth=2
set softtabstop=2
答案 0 :(得分:1)
本地vimrcs应该使用setlocal
和let b:option_name = value
定义本地选项。
不幸的是,并非所有插件都了解某些用户可以同时处理多个项目。在这种情况下,您需要使用本地vimrc插件在每次输入缓冲区时始终加载本地vimrc文件(即使已打开)。然后,您可以保护缓冲区本地定义再次(重新)设置。
我不能说您正在使用的插件。每当我们vimrc_local.vim
一个缓冲区时,Mine就会重新加载BufEnter
个文件。结果,本地vimrc文件看起来像
" -- Global Overridden zone for project unaware plugins
let g:some_global_option_overwritten_every_time = "forced value"
" -- Buffer local zone for project-aware plugins
if exists('b:project_foo_bar_lvimrc_loaded') && b:project_foo_bar_lvimrc_loaded != 0
finish
endif
let b:project_foo_bar_lvimrc_loaded = 1
setlocal whatever=value
let b:some_option_for_a_smart_plugin = "specific value"
" -- and we can also add a global zone for stuff that we can load once
" like functions, but it'll be smarter to use autoload plugins
顺便说一句,阅读插件文档,看起来它也在听BufEnter
,与我的插件不同,它似乎自动设置了防护措施。另一种可能性是您的项目在列入黑名单的目录树中。您还必须检查一下。