исходные файлы с пробелом в имени

#vim

#vim

Вопрос:

Иногда я хочу использовать минимальную конфигурацию vim, поэтому в pathogen у меня есть следующий псевдоним:

 alias v='vim -u "$HOME/.vim/simple.vim" --noplugins'
  

и в файле simple.vim у меня есть следующие строки:

 let g:p0 = split(amp;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" . '"'
  

но они оба терпят неудачу. Есть идеи о том, как это решить?

Ответ №1:

Вы должны использовать fnameescape() функцию

 exec 'source ' . fnameescape(g:p0 . '/plugin/NERD_commenter.vim')
  

Конечно, еще лучше было бы использовать runtime команду

 runtime plugin/NERD_commenter.vim