Emacsチートシートの次ぐらいに覚えるとハッピーなこと3つ
自作のEmacsチートシートを公開してみる - UNIX的なアレを読んだ後にEmacsを立ち上げようとしてFirefoxに「M-x emacs」って打ち込みそうになった(実際にM-xまで打った)俺がお送りします。すごく便利だと思うのだけど周りのEmacs使いにも使いこなせている人が少ない機能を3つ紹介します。2と3が特におススメ。
universal-argument
C-uで実行できるuniversal-argumentは非常に奥深い機能です。
universal-argumentのもう一つの役目はコマンドの挙動をちょっとだけ変える機能です。たとえば、
keyboard-macro
keyboard-macroはEmacsに打ち込んだキーボードの入力を簡単なアクションで再現する機能です。VBAとかの機能とたぶんおんなじですね。
- C-x (
- kmacro-start-macro。キーボードマクロの記録を開始する。
- C-x )
- kmacro-end-macro。キーボードマクロの記録を終了する。
- C-x e
- kmacro-end-and-call-macro。キーボードマクロを実行する。
簡単な例をやってみましょう。
text text text text text text
こんなデータがあったとします。これを1行につなげたいと思ったとします。カーソルは先頭の行にあるものとします。
- C-x (でキーボードマクロの記録を開始。
- C-eで行末へ移動。
- C-dでカーソル位置で1文字削除。
- C-x )でキーボードマクロの記録を終了。
これで準備は完了です。今実行した「行末へ移動&1文字削除」を何度も繰り返したいとします。
texttexttexttexttexttext
これはものすごく応用範囲が広いですよ。
矩形編集機能
Emacsにも矩形編集機能があります。そろそろめんどくさくなってきたのでコマンドの概略だけ説明します。
- C-x r k
- 矩形で削除を行う。削除したデータは矩形編集専用のバッファに退避されます。
- C-x r y
- 矩形で貼り付け。C-x r kで削除された内容を矩形チックに貼り付けます。
やっぱり
Emacsと聞いて俺がきましたよ - 日記を書く [・w・] はやみずさんの次ぐらいでいいと思います。