Я редактирую файл как
/path/to/file.txt
с vim, следовательно, текущий каталог
/path/to
.
Теперь у меня есть каталог
/other/path/to/vim/files
который содержит sourceA.vim
. Также в
есть файл sourceB.vim
/other/path/to/vim/files/lib/sourceB.vim
В sourceA.vim
я хочу получить sourceB.vim
, поэтому я поставил
so lib/sourceB.vim
в это.
Теперь в моем файле file.txt я делаю
:so /other/path/to/vim/files/sourceA.vim
что не удается, потому что система поиска, очевидно, не подготовлена для относительных имен путей наряду с поиском из другого каталога.
Чтобы это исправить, я поставил
execute "so " . expand("<sfile>:p:h") . "/lib/sourceB.vim"
в sourceA.vim
, который делает то, что я хочу.
Однако я нахожу решение немного неуклюжим, и мне было интересно, есть ли для него более элегантное решение.
Я не могу поместить sourceA.vim и sourceB.vim в папку plugin
vim.