Я пробовал все решения https://stackoverflow.com/questions/4976776/how-to-get-path-to-the-current-vimscript-being-executed/53274039#53274039, которые были опубликованы 7 лет назад, и ни один из них у меня работает в текущем (2018) MacVim (8.1) или neovim (0.3.1). Поскольку мой вопрос там продолжает удаляться, я решил задать новый вопрос.
Что-то изменилось в Vim с момента последнего ответа 7 лет назад? Все эти решения дают мне текущее местоположение файла, а не местоположение скрипта. Влияет ли SpaceVim на работу этих функций?
Это код, который я пытаюсь исправить:
function! TeaCodeExpand()
<<some code>>
echom fnamemodify(resolve(expand('<sfile>:p')), ':h')
<<other code>>
endfunction
У меня есть эхо, чтобы показать путь, который должен быть текущим файлом сценария, но он всегда возвращает редактируемый в данный момент файл. Следующая строка предназначена для выполнения AppleScript в каталоге над файлом vimscript. Я могу жестко указать путь, и все работает нормально. Но я не могу заставить его работать как есть. Полный код находится здесь: github.com/raguay/TeaCode-Vim-Extension.
echom
, чтобы показать путь, который должен быть текущим файлом сценария, но он всегда возвращает редактируемый в данный момент файл. Следующая строка предназначена для выполнения AppleScript в каталоге над файлом vimscript. Я могу жестко указать путь, и все работает нормально. Но я не могу заставить его работать как есть. Полный код находится здесь: github.com/raguay/TeaCode-Vim-Extension. - person Richard Guay   schedule 13.11.2018system
. Я не мог разместить здесь полный код из-за ограничений по размеру. - person Richard Guay   schedule 13.11.2018