Я перепробовал все решения /3675735/kak-poluchit-put-k-tekuschemu-ispolnyaemomu-vimscript, которые были опубликованы 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