読者です 読者をやめる 読者になる 読者になる

行移動コマンドとace-jump-line-modeを組み合わせるネタ

emacs ace-jump-mode

表題の通り。
以下のコードである。

(defadvice next-line (around my-next-line activate)
  (if (eq (ad-get-arg 0) 4)
      (ace-jump-line-mode)
    ad-do-it))
(defadvice previous-line (around my-previous-line activate)
  (if (eq (ad-get-arg 0) 4)
      (ace-jump-line-mode)
    ad-do-it))

C-u C-n や C-u C-pとタイプすればace-jump-line-modeが発動する。
どちらでも同様の効果のなので、筆者は押しやすいC-u C-p派ではある。

行移動を快適にするネタについては、るびきちさんが以下の記事を投稿していた。
http://rubikitch.com/2014/10/26/relative-line-numbers-2/
この記事では行移動コマンドとしてのC-nやC-pを数値引数(C-u 数字 or C-数字)つきで呼びだす機能を、より快適に利用することについて紹介していた。
しかしながら移動行数を指定するため少なからず指を遠くまで伸ばす必要がある。
上記のdefadviceはこの方法と比較して、必要なタイプ数は幾分犠牲になるが、指の移動距離が少ないというメリットがある。
またace-jump-line-modeを別のキーバインドで利用している方は、上記defadviceはキーバインド箇所の節約にもつながるだろう。