Vim 名称中有空格的源文件

Vim 名称中有空格的源文件,vim,Vim,有时我希望使用最小的vim配置,因此对于病原体,我有以下别名: alias v='vim -u "$HOME/.vim/simple.vim" --noplugins' 在simple.vim文件中,我有以下几行: let g:p0 = split(&runtimepath, ',')[0] exec "source" . g:p0 . "/plugin/NERD_commenter.vim" 当g:p0包含空格时,此操作失败。我试过了 exec "source" . "'" . g

有时我希望使用最小的vim配置,因此对于病原体,我有以下别名:

alias v='vim -u "$HOME/.vim/simple.vim" --noplugins'
在simple.vim文件中,我有以下几行:

let g:p0 = split(&runtimepath, ',')[0]
exec "source" . g:p0 . "/plugin/NERD_commenter.vim"
g:p0
包含空格时,此操作失败。我试过了

exec "source" . "'" . g:p0 . "/plugin/NERD_commenter.vim" . "'"
而且

exec "source" . '"' . g:p0 . "/plugin/NERD_commenter.vim" . '"'

但他们都失败了。关于如何解决这个问题有什么想法吗?

您应该使用
fnameescape()
函数

exec 'source ' . fnameescape(g:p0 . '/plugin/NERD_commenter.vim')
当然,使用
runtime
命令更好

runtime plugin/NERD_commenter.vim