Vim使用String内插的变量?

时间:2013-11-13 10:01:53

标签: vim zshrc

我有一个.zshrc.vimrc文件

在我的.zshrc文件中,我有syncfolder="$HOME/Google Drive/Dropbox"

我现在想在syncfolder文件中引用.vimrc,这是否可行(如果是,如何)?

此外,在我的.vimrc文件中,我正在寻找大量其他文件,我希望提高效率。

以下不起作用:

let vimfolder="~/Google Drive/Dropbox/Fresh Install/Shell/vim"

source "$vimfolder/settings.vim"
source $vimfolder/vundle.vim
source $vimfolder/mapping.vim
source $vimfolder/filetypes.vim
source $vimfolder/commands.vim

...我尝试了vimfolder包含$HOME的多个变体,而另一个我尝试从我的.zshrc文件中导出变量,就像这样...

export SYNCFOLDER=$syncfolder

...希望我可以从.vimrc内访问它,但它不起作用。

有什么想法吗?

1 个答案:

答案 0 :(得分:9)

您需要使用:execute来评估大多数Ex命令中的变量。 Vim变量没有$前缀,这些是环境变量(您也可以从Vimscript引用):

execute 'source' vimfolder . '/settings.vim'

但是,在这种特殊情况下,我宁愿将位置添加到'runtimepath',然后使用:runtime

set runtimepath+=~/Google\ Drive/Dropbox/Fresh\ Install/Shell/vim
runtime settings.vim

另一种选择是符号链接,因此您在Vim设置中没有任何更改。