雑文発散

«前の日記(2014-08-03) 最新 次の日記(2014-08-05)» 編集
過去の日記

2014-08-04 [長年日記]

[Emacs] Emacs 24.4 の新機能・矩形選択をする rectangle-mark-mode

Emacs はエディタにもなるので、その編集機能についての新機能もたくさん NEWS ファイルには書かれていた。その中で今日は rectangle-mark-mode を調べてみる。

rectangle-mark-mode は矩形の領域がマーク(選択)できるモードで、C-x SPC にキーバインドされている。

例えば、次のような状態のテキストがあるとする。Markdown でリストを書いてたけど、BBB、CCC、DDD のインデントを間違えたので、一段上げたいと思っている。

初期状態

このようなときに、今までの Emacs でも delete-rectangle を使えば、矩形領域を一発で削除できた。

手順としてはこんな感じ。

  • 上記のカーソル位置で C-SPC (set-mark-command) を実行して位置をマーク
  • DDD の直前の * のところまでカーソルを移動させて、C-x r d (delete-rectangle) を実行

C-SPC で領域選択したときのキャプチャが下の画像。水色で表示しているのが選択された領域。

set-mark-command

このとき C-x r d (delete-rectangle) ではなく、間違えて delete キー (delete-backward-char) を叩いてしまうと、次のような状態になり、期待と違ってしまう。

delete-backward-char

Emacs 24.4 で追加された C-x SPC (rectangle-mark-mode) を使うと、これが次のような手順になる。

  • 先ほどのカーソル位置で C-x SPC (rectangle-mark-mode) を実行して位置をマーク
  • DDD の直前の * のところまでカーソルを移動させて、delete (delete-backward-char) を叩く

C-x SPC で領域選択したときのキャプチャが以下の画像。C-SPC で領域選択したときとの違いが分かる。

rectangle-mark-mode

実行結果はどちらも同じなので、好きな方を使えば良いのだけど、新しい rectangle-mark-mode を使ったほうが、キー操作はシンプルになる気がするねぇ。

とは言っても、並べて比較してみると、打鍵数は1個しか減ってなかったのであった(笑)

1 2 3 4 5
従来 C-SPC カーソル移動 C-x r d
新規 C-x SPC カーソル移動 delete

まぁ、でも、選択領域が目で見て分かりやすくなっている点は C-x SPC の利点だと思うので、積極的に使っていく方がこれからの Emacs ライフには良いのかも知れない。