画面上の任意のポイントにカーソル移動するパッケージ avy.el のご紹介

2017.04.11

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

カーソルのダイレクト移動

Emacs のパッケージ avy.el を利用すれば、画面内の任意のポイントへダイレクトにカーソルを移動することができます。

実行例

以下は avy 実行時の様子です。
49 行目にカーソルがある状態で、53 行目の self の前にジャンプしています。

1

私は以下のように avy-goto-char-timer というコマンドを Control + Meta + ; に割り当てています。

(global-set-key (kbd "C-M-;") 'avy-goto-char-timer)

これを実行すると avy は一定時間(デフォルトで 0.5 秒)文字の入力を受け付け、タイムアウトとなるまで入力された文字列でバッファ内を検索します。
文字列がマッチした箇所には ヒント が表示され、そのヒント文字列を入力すると、その場所にカーソルが移動します。
上の例では入力文字列が self、ヒント文字列が g となっています。

ウィンドウを分割している場合でも、avy は全てのウィンドウで有効です。
ウィンドウの移動を行う手間も省けるので積極的に使用して行きましょう。

残念ながら日本語には対応していません。
アルファベット・数字・記号が使用されるソースコードや英語のドキュメントで効果を発揮するでしょう。

IntelliJ Platform

IntelliJ Platform の IDE では、これと同等のプラグインが存在します。
プラグイン名は AceJump となっており、デフォルトのキーマップは Control + ; です。
こちらはウィンドウ分割には対応していませんが、検索のタイムアウトは存在しないため、のんびり実行できます。
なかなか人気のプラグインらしいので、是非使ってみてください。

3 2

リンク

ミレニアム・ファルコン製作日記 #65

65 号 表紙

mfd_65_1

パーツ

mfd_65_2

mfd_65_3

mfd_65_4

成果

mfd_65_5

今回の作業は以下の 1 つでした。

  • 上部外殻フレームを組み立てる

上部外殻フレームも完成!
おつかれ!!

それではまた次回。

May the Force be with you!