内部で Python コード ブロックを使用する vim プラグインを作成しようとしています。Python コード ブロック内のmyvim.vim
( )のフル パスを取得したいと考えています。残念ながら、ファイル内で as を/home/myusername/.vim/bundle/myvim/plugin/myvim.vim
使用してパスを取得することはできません。プラグイン関数が呼び出された場所のパスを出力するだけなので、どちらも使用できません。__file__
.py
vim.command(':pwd')
myvim.vim
function! Myvim()
python << EOF
import vim
vim_path = "full myvim.vim path here"
print vim_path
EOF
endfunction
編集
@actionshrimp、私はこれを試しています:
myvim.vim
function! Myvim()
let s:curfile = expand("<sfile>")
let s:curfiledir = fnamemodify(s:curfile, ":h")
python << EOF
import vim
py vim_path = vim.eval('expand("<sfile>")')
print vim_path
EOF
endfunction