秀丸のタグジャンプとIMEのショートカットキー
僕はC言語のエディタは秀丸を使っている。ご存知の人も多いかと思うが、秀丸では「tags」ファイルを作成することで、関数の定義箇所にジャンプすることが出来る。この機能は言語の解析とかで非常に便利なので、とりあえずご紹介。
tagsファイルの作成
- [その他]→[tagsファイルの作成]を選択
- [対象ファイル]でファイルが入っているソースの一番上位のフォルダを選択する
- [サブフォルダも検索]にチェックを入れる
- [OK]ボタンをクリック
上記で「tags」ファイルの作成完了*1。
チェック対象の変更
デフォルトの設定だと、秀丸は同一ディレクトリにある「tags」ファイルしか見ない。これでは各フォルダごとに「tags」ファイルを置かなくてはならないので非常に不便。これを解消するには、上位フォルダにある「tags」ファイルを見に行くように設定を変更する。
- [その他]→[動作環境]を選択
- [上級者向け設定]をチェックする
- [その他コマンド]→[tagsファイル]から[上の階層もチェックする]をチェックする
上記で、上位フォルダにある「tags」ファイルを見に行ってくれる。これで使用する準備は完了。
使用方法
- [F10]
- grepで検索した先にジャンプ。「tags」ファイルからもジャンプすることも可能。
- [Ctrl]+[F10]
- 現在カーソルがさしている関数の定義位置にジャンプ(ダイレクトタグジャンプ)
- [Shift]+[F10]
- ジャンプ前の場所に戻る(バックタグジャンプ)
これで関数から関数にバンバンジャンプできるし、ジャンプした先から戻るのも簡単だしで解析楽チン♪楽チン♪
やっと本番
っで、ここまでで終われば、「秀丸ってすばらしいですね」って話で終わるんだけど、この割り当てているキーがだめなんだよね。。。
もともとコードリーディングでこの機能を使っていたんだけど、コード解析結果をテキストで記述しておくとダイレクトタグジャンプを使用することができて後からまた見る時も便利ってことに気がついたのが事の発端。この作業をやっていると関数をコピーしてその下にコメント書いてってことを繰り返してたら、[Ctrl]+[F10]を押すとダイレクトタグジャンプをしないで、IMEのメニューが立ち上がることがあるんですね。調べてみると[Ctrl]+[F10]がIMEでメニューを表示するショートカットキーに割り当てられているせいで、IMEがONになっている場合ダイレクトタグジャンプじゃなくてIMEのメニューが表示してしまうんですわ。
秀丸でダイレクトタグジャンプに割り当ててるキーを変えてしまえばいいんだけど、いままで[Ctrl]+[F10]でやってきたからいまさら変更してしまうと慣れるまでに時間かかるから変更したくない。大体IMEのメニューを表示するためのショートカットキーなんて使うことないんだから、こっちを変更したほうがいい。だから、IMEのショートカットキーの変更方法を調べてみた。