我当前的.vimrc包含这两行,这些行有点多余
let g:opamshare = "/home/hugo/.opam/system/share"
source /home/hugo/.opam/system/share/vim/syntax/ocp-indent.vim
有没有办法在第二行的opamshare
命令中使用source
变量的值?我试过了
source g:opamshare . "/vim/syntax/ocp-indent.vim"
但是这给了我一个E172: Only one file name allowed
错误。
答案 0 :(得分:4)
来自vim doc:
:so[urce] {file} Read Ex commands from {file}.
您只需将file
作为参数传递给source
命令
它并不将参数视为string
,因此您无法使用.(dot)
来连接字符串。
试试这个:
:exec printf('source %s/%s', g:opamshare, 'vim/syntax/ocp-indent.vim')
答案 1 :(得分:0)
您可以使用环境变量作为解决方法:
let $OPAMSHARE="/home/hugo/.opam/system/share"
source $OPAMSHARE/vim/syntax/ocp-indent.vim
参见 :help expr-env
和 :help expression-syntax
。