私がやろうとしていることを述べる前に、私はあらゆる/すべての解決策に対してオープンであることを前置きしたいと思います.
基本的に私はPHPファイルを編集しています。私が編集しているクラスには、次のようなキーを受け取るローカリゼーション関数があります。
$this->localize('SOME_KEY_HERE');
私が(VIMで)やろうとしているのは、カーソルがそのキーの上にあるときに、その関数呼び出しのローカリゼーション値が何であるかを決定するキーバインディングを作成することです。キーをvimscript関数に簡単に入れることができます。私の計画は、正規表現を介してクラス名を見つけ(これは完璧である必要はありません)、 :exec php -r を介してそのクラスをインスタンス化し、関数を呼び出すことでした。したがって、多かれ少なかれ、実際に呼び出しを行う最小限のスクリプトを作成します。
私が言ったように、キーを好きなように分離することができます。しかし、現在のクラスを見つけるための適切なvimscriptの方法を見つけようとしています。基本的に、現在のファイルの /^class / に一致する最初の行の 2 番目の単語が vimscript 変数に必要です。いくつかのドキュメントを参照しましたが、機能しないようです。
この操作を実行する方法に関する任意/すべての提案を受け入れます。
編集:明確にするために、次のようなことを行うことで、強調表示しているキーを分離できます。
noremap <leader>z :call DoSomething(expand("<cword>"))<CR>
function! DoSomething(l)
let key = a:l
echom key
endfunction