Vim script で現在の関数名を取得する
chained.vim を使用します。
[ソース]
function! HomuFunction() echo chained#this_func() " => HomuFunction endfunction function! g:homu_function() echo chained#this_func() " => g:homu_function endfunction function! s:homu_function() echo chained#this_func() " => <SNR>245_homu_function endfunction call HomuFunction() call g:homu_function() call s:homu_function() " 何も返さない echo chained#this_func() " 辞書は無理 let s:dict = {} function! s:dict.func() echo chained#this_func() " => 670 endfunction call s:dict.func()
デバッグ出力や、関数のユニークな名前として使用できそうですね。
[参照]
辞書で定義さている関数では使用できません。
また chained.vim はまだ作成途中なので、予告なく仕様が変更される場合があります。