emacsメジャーバージョンアップに振り回されたキーバインド

emacsのメジャーバージョンアップはいつもおおごとで、あくまでも個人的にインパクトがデカかったもの。

秀丸ユーザってやつは、日本では emacs ユーザよりも声が大きいというか、意味もなく思いいれ(と思い込み)が強くて、「秀丸はキーボードマクロが優秀なんだぜ!」と洗脳しようと躍起になる同僚がいて、疲れたことがあった。もう15年近くになるな。

当時の秀丸は正規表現がアホというか、不完全で、かつ、「置換」出来ないというものだった、と思う。使いたいなんて思いもしなかったから、真面目に調べつくそうとはしなかったが、ぱっとみなさそうだった。そもそもが、オプションのデフォルトがことごとく自分のセンスと真逆なのにも心底参ってしまったのもあって、2時間くらいで捨てた。

「秀丸はキーボードマクロが優秀なんだぜ!」に関して emacs ユーザはそれこそなんとも思わないわけであるが、emacs のキーボードマクロは、もともと豊富過ぎる機能を普段と全く同じ操作のまま記録出来ることにあって、特に以下2つとの組み合わせが、「emacsでキーボードマクロ」するのに万能感を増すのよね:

  • ナローイング
  • レジスタ

ナローイングは、編集バッファの局所化ね。これがあるおかげで、複雑怪奇な正規表現などを避けて一括置換する、のようなキーボードマクロを記録出来る。レジスタは、特定のポイントを名前付きで記憶し、あとからそこに名前でジャンプ出来る機能ね。これがあるおかげで、「あたかもプログラムを書くかのような」キーボードマクロを記録出来る。

ここらへんの話は、emacs ネタはなんだか需要ありそうなんで、いずれちゃんと書こうと思うけど、本日の話題はそれではなくて。

確か Emacs for Windows から Meadow 2 への乗り換えのタイミングだったと思うんだけど、この「Saving Positions in Registers」のデフォルトのキーバインドに変更があってなぁ。レジスタを多用するキーボードマクロを日常的に使っていて、「熱(苦し)い秀丸ユーザ」を尻目に快適な編集を日々やってたもんだから、なんだか奈落の底に突き落とされた気がして。これね:

もしこれを読んでいるあなたが emacs ユーザで、レジスタを知らなかったなら、是非名前だけでも覚えて帰って下さい。(キーボードマクロと組み合わせなくても使えるぞ。)