Emacsでカーソル移動、削除、マクロ実行などを繰り返したいときに手軽なのがC-u。C-uの後に数字を入力すればその回数になるが、単にC-uだと4回、C-u C-uと2度押すと16回、3度押すと64回、という具合に、n度押すと4n回繰り返される。数字キーに手を伸ばさなくていいのですばやく操作できる。
しかし。4の次が16って飛びすぎじゃね?4回というのは「目の届く」「小さい範囲の」繰り返し回数として適度だが、16回となるといきなり「だいたいこのあたりぜんぶ」「もっとたくさん」といった鷹揚なニュアンスである。昔から「いち、にい、たくさん」と言うではないか。ナベアツもイチ、ニ、サン!で初めてアホになる。
というわけで、4, 8, 16, 64, 256, …のように8を挟むようにしてみた。
(defadvice universal-argument-more (before stop-by-eight-before-sixteen (arg) activate) "Stop by eight before sixteen." (let ((num (car arg))) (if (> 16 num) (ad-set-arg 0 (list (/ num 2))))))
使ってみると、これがけっこうしっくり来るんだな。C-u C-uだと多すぎだからC-u+コマンドを2回、というシーンはけっこうあるので、4から16と急加速する前に8を。スペースを8個削るとか、8行分コピーするとか、なかなか手頃なサイズです。
このなかなか表面化しないフラストレーションを言葉にしてくれた同僚のK君に感謝。
» こちらの記事もどうぞ «
- Emacs: kill-region-or-backward-kill-word
- vc-svk.elが遅い
- Emacs multi-tty support
- GNU Emacs 21.3.50 w/ multi-tty support
- GNU Emacs 21.3.50でlookupとVC
No Comment