画面内の任意の位置へカーソルを素早く移動させる yafastnav.elを公開しました。

追記

TwitterID:_kawaguchiさんがよりHit a Hintに近く、完成度の高い拡張、jaunte.elを公開されていますので、
Hit a Hintをお探しの方はそちらをご利用ください。
EmacsでHit a Hint(改)

自分も長距離jaunte、短距離yafastnavのような感じで使用させて頂いています。

動機

Emacsでのプログラム作成中に、同一画面内の移動の際にforward-char、backward-char、
next-line、previous-lineなどのカーソル移動コマンドを何度も打鍵して移動してしまうことが多く、
もう少し同一画面内でのカーソルの移動を早く出来ないかと考え作ってみました。

機能

動作は、

  1. コマンド実行時に正規表現で画面内の点をリストアップしつつ、ショートカットキーと関連づけ
  2. ショートカットキーの打鍵で関連づけられた点へ移動

というシンプルなものになっています。
実際の使用中の画面は以下のようになります。

これが1.の手順後の状態になります。
この後強調表示されているショートカットキーを入力することで、その点へ移動します。

導入方法

id:kitokitokiさんのご指摘を受けyafastnav.elのみのリポジトリへ移動させました。

-git clone git@github.com:tm8st/emacs-miscs.git
もしくは

-http://github.com/tm8st/emacs-miscs/raw/master/yafastnav.el をダウンロード。

次にそのソースをload-pathの通ったパスにおき、

.emacs等に、

(require 'yafastnav)
(global-set-key (kbd "C-l C-h") 'yafastnav-jump-to-current-screen)
(global-set-key (kbd "C-l C-.") 'yafastnav-jump-to-forward)
(global-set-key (kbd "C-l C-r") 'yafastnav-jump-to-backward)

のようなコードを追加してください。

キーバインドについては、お好みに合せ調整してください。

今後

  • 現在候補のリストアップ用正規表現が各mode共通になっているのをmode別に変更できるようにする。
  • 候補が多い場合にショートカットキーが足らなくなる問題への対処。(複数打鍵での対応?)
  • 正規表現の後方探索の仕様の影響でうまく実装できていない、yafastnav-jump-to-backwardの修正

ご要望などありましたら、Twitterでお知らせください。同じ名前でやっています。