Vim 使用备用的.clang_完整文件
默认情况下,clang_complete插件从vim的path变量中的文件读取编译器标志。这并不一定是可取的,因为path用于其他目的,这意味着可能需要修改变量、跟踪.clangu_complete文件的位置等。如果有一个选项,例如,只指定要包含的文件,则会简单得多 没有,但有一个: 为传递给clang的用户选项设置源。现有资料来源包括:Vim 使用备用的.clang_完整文件,vim,clang-complete,Vim,Clang Complete,默认情况下,clang_complete插件从vim的path变量中的文件读取编译器标志。这并不一定是可取的,因为path用于其他目的,这意味着可能需要修改变量、跟踪.clangu_complete文件的位置等。如果有一个选项,例如,只指定要包含的文件,则会简单得多 没有,但有一个: 为传递给clang的用户选项设置源。现有资料来源包括: [...] {anything}其他选项将作为自定义选项源处理,如下所示 方式:clang_complete将尝试加载名为 getopts{anyth
[...]
{anything}其他选项将作为自定义选项源处理,如下所示
方式:clang_complete将尝试加载名为
getopts{anything}getopts,然后可以修改
b:clang_用户选项变量。如果您不知道,请参阅有关自动加载的帮助
这是什么
所以我指定:
let g:clang_auto_user_options = "clangcompl"
并创建了一个文件autoload/getopts/clangcompl.vim,其中包含一个函数:
function clangcompl#getopts ()
此函数已加载,但clang_complete未使用它,因此出现错误:
Error detected while processing function <SNR>14_ClangCompleteInit..LoadUserOptions:
line 20:
E117: Unknown function: getopts#clangcompl#getopts
这是我第一次尝试vimscript,所以任何提示都非常感谢。我哪里出错了?您需要在声明中包括相对路径,而不仅仅是文件和函数名:
function getopts#clangcompl#getopts ()
let files = expand("~/.vim/clang_opts/*", 0, 1)
for f in files
let opts = readfile(f)
for o in opts
let b:clang_user_options .= " ".o
endfor
endfor
endfunction
这将使用~/.vim/clang_opts中的任何内容作为.clang_完整文件
function getopts#clangcompl#getopts ()
let files = expand("~/.vim/clang_opts/*", 0, 1)
for f in files
let opts = readfile(f)
for o in opts
let b:clang_user_options .= " ".o
endfor
endfor
endfunction