默认情况下,clang_complete插件从vim的path
变量中读取编译器标志。这不一定是可取的,因为path
用于其他目的,这意味着可能需要修改变量、跟踪.clang_complete
文件的位置等等。如果有一个选项只指定要包含的文件,就会简单得多。
没有,但有这样的情况:
g:clang_auto_user_options -auto_user_options 为传递给clang的用户选项设置源。现有资料来源如下: ..。 { as } on将以下列方式作为自定义选项源处理:clang_complete将尝试加载名为getopts#{任何}#getopts的自动加载函数,然后该函数将能够修改b:clang_user_options变量。如果您不知道自动加载的帮助是什么,会查看它的帮助。
所以我已经明确指出:
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的第一次尝试,所以任何技巧都会受到赞赏。我哪里出错了?
发布于 2014-07-05 08:47:29
您需要在声明中包含相对路径,而不仅仅是文件和函数名:
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_complete
文件。
https://stackoverflow.com/questions/24588339
复制