1

私は7年前に投稿されたすべてのソリューションhttps://stackoverflow.com/questions/4976776/how-to-get-path-to-the-current-vimscript-being-executed/53274039#53274039を試しましたが、どれも現在(2018年)のMacVim(8.1)またはneovim(0.3.1)で私のために働いています。私の質問は削除され続けているので、新しい質問で質問することにしました。

7 年前の最後の回答以降、Vim で何か変更がありましたか? これらのソリューションはすべて、スクリプトの場所ではなく、現在のファイルの場所を教えてくれます。SpaceVim はこれらの関数の動作に影響を与えていますか?

これは私が修正しようとしているコードです:

function! TeaCodeExpand()
    <<some code>>
    echom fnamemodify(resolve(expand('<sfile>:p')), ':h')
    <<other code>>
endfunction

現在のスクリプト ファイルであるはずのパスを示す echom がありますが、現在編集されているファイルが常に返されます。次の行は、vimscript ファイルの上のディレクトリで AppleScript を実行することです。パスをハードコードすることができ、すべて正常に動作します。しかし、私はそれをそのまま機能させることはできません。完全なコードはこちら: github.com/raguay/TeaCode-Vim-Extension

4

1 に答える 1