はじめに
表題について、個人的によく用いる方法をまとめておく。
各種コマンド・パッケージ
isearch
C-s
とC-r
で起動できる、一番ポピュラーな方法。候補がたくさんヒットした場合は連打する必要がある。
基本的に起動したウィンドウ内でのみ有効。
ace-jump-mode
画面内で移動先の文字を明示的に指定してジャンプする。複数ウィンドウ、複数フレームにも対応できる。
MELPAからインストール可能。以下のリンクを参照されたい。
- 公式の使い方デモ
- ace-jump-modeの紹介
- emacs ace-jump-mode.el : 【インクリメンタルサーチ王者陥落】3ストローク以下でカーソルを飛ばせ
- Emacsで1~3ストロークで画面上の任意の場所に移動するための設定
- ace-jump-modeのソースコード(github)
ace-jump-modeについては基本的に英数字のみを対象にジャンプ候補を生成するが、漢字かな交じりの日本語に対応させることも可能である。
設定は以下を参考に。
jaunte
ace-jump-modeよりもシンプルなのが良い。
avy
機能的にはace-jump-modeとほぼ同等。ace-jump-modeと比べて開発がアクティブである。逆にace-jump-modeはあまりアクティブではない。
MELPAからインストール可能。以下のリンクを参考にするとよい。
ちなみにバージョン0.3.0時点で提供されている「主要な」コマンドは次の通りである。もちろんこれ以外のコマンドも存在する。
コマンド名 | 説明 |
---|---|
avy-goto-word-0 | 画面中の「全ての」wordの先頭文字に対してジャンプ候補を生成する。 |
avy-goto-word-1 | 画面中のwordの先頭文字に対してジャンプ候補を生成する。ただし指定した一文字に対して。 |
avy-goto-char | 指定した一文字を対象に、画面中にジャンプ候補を生成する。 |
isearch中に発動させたい場合は、avyが提供しているavy-isearch
という関数をisearch-mode-map
の適当なキーバインドに設定すればよい。
avy-migemo
avyがmigemo対応したもの。個人的に非常にオススメ。
ace-isearch
筆者作のパッケージであり、isearch, ace-jump-mode, avy, そしてhelm-swoopの統合を試みたものである。
挙動としては、1文字isearchがace-jump-mode (or avy)、2文字以上6文字以下で通常のisearch、それ以上の文字数でhelm-swoopが発動する。
MELPAからインストール可能。詳細は以下のリンクを参考に。
- emacs ace-isearch.el : 超isearch=isearch+ace-jump-mode+helm-swoop カーソル移動と検索を統合!
- ace-isearchのgithubページ
helm-swoopについては以下を参考に。ace-isearchについても少し紹介されている。
helm-swoopは今回の記事の趣旨とは関係ないが、非常に強力な検索機能を提供するので、是非使ってみて欲しい。
おわりに
デフォルトのisearchも悪くはないが、ace-jump-modeやavyといった便利なパッケージがあるので積極的に使うと良い。今回紹介しなかったが、pophintも設定次第で便利に使えるのでは思われる。