web-dev-qa-db-ja.com

編集中の現在のクラスとメソッドをvimに表示させるにはどうすればよいですか?

私が編集している現在のクラスとメソッド(または関数)の名前を示す「ステータスバー」を作成できるかどうか(または既存のvimスクリプトまたはプラグインを知っているか)誰かが知っていますか?

現在のバッファのファイルタイプの構文パーサーにプラグインし、現在編集しているものを示すパンくずリストを表示することを想像しています。それ以上のことを提案するのに十分なvimscriptを知りませんが、良い解決策がまだない場合は、ハックし始める可能性があるので、どこから始めればよいかについての提案も歓迎します!

15
dcrosta

これは、 airline プラグインと tagbar プラグインの両方をインストールした場合に機能します。これらの2つのプラグインは自動的に統合され、ステータスバーに現在の機能が表示されます。完全なオブジェクト階層(クラス+メソッドなど)が必要な場合は、.vimrcで構成する必要があります。

let g:airline#extensions#tagbar#flags = 'f'  " show full tag hierarchy

まだctagsを使用していない場合は、現在のコード位置を識別するためにtagbarのタグファイルを設定する必要がある場合があります。それについてまだ知らない場合は、ここに ctagsの短い紹介 があります。

8
Karl Bartel

このスクリプト 現在の関数の名前をタイトルバーやステータス行に表示します。 ctagsを使用して現在のファイルのタグのリストを生成し、カーソル位置の前のタグが現在の関数の名前であると想定します。 ctagsを使用しているため、構造化テキストファイルであっても、さまざまな言語で機能するようにカスタマイズできます。実際にはうまく機能しますが、いくつかの制限があります。他に何もないとしても、それはあなたにハッキングの出発点を与えるかもしれません。

7
garyjohn