vim-users.jp

Hack #56: ローカル変数の宣言位置に移動する

Posted at 2009/08/13
このエントリーをはてなブックマークに追加

問題

プログラムを編集・読解する際に頻出する作業として、 変数や関数などの宣言位置に移動することが挙げられます。

Hack #43: タグジャンプを使用する はその方法の一つですが、 これはローカル変数を対象にはできないという欠点があります。 また小規模の使い捨てスクリプトを書いている際には タグファイルの作成は少々手間です。

Hack #51: カーソル下のキーワードを検索する で紹介した*を利用すれば変数名や関数名の検索は容易にできますが、 宣言位置を的確に検索することはできず、手間がかかります。

一度の操作でローカル変数の宣言位置に移動することはできないでしょうか。

解決方法

Normal modeでgdをタイプします。 gdはGo to local Declarationの略です。 これはカーソル下(あるいはカーソル近傍)の変数の宣言位置を検索するコマンドです。 *と似ていますが、 関数などのブロック内から宣言位置を探しカーソルを移動します。 コメントも認識するため、コメント中に検索対象の変数名が含まれる場合でも 宣言位置に正しく移動することができます。

またgDというコマンドもあり、 これはグローバルな変数の宣言位置へ移動するコマンドです。

なおgdおよびgDは ヒューリスティックな方法で検索を行なっており、 編集中のプログラムの構文を解析している訳ではありません。 とはいえ大抵の場合は期待通りの動きをするので、 さほど気にする必要はありません。

参考資料

kana

もどる
blog comments powered by Disqus