数を指定して各行の頭の空白を挿入/削除
デフォルトのEmacsでは、指定したスペース分だけインデントをする、ということができない。これは意外と不便だ。とくにテキストを書いているとき。
これに困ってこれを解決するElispを書いた人はおそらく世界で5万人ぐらいいるだろうが、検索するのが面倒くさいのでまた再発明をする。
(defun indent-rigidly-by-n (q) (interactive "nHow many colmns to indent by?:") (if (and transient-mark-mode mark-active) (indent-rigidly (region-beginning) (region-end) q) (error "No region selected.") ))
dot.emacsにでも書いてください。
インデントしたい箇所をリージョンで指定して M-x indent-rigidly-by-n すると「いくつ分インデントしますか」と聞いてきますんで、インデント量を入力ください。負の数を入れると逆インデントとなります。
追記 (2009.6.23)
上の再発明がなくても、Emacsの標準機能だけで実現できるじゃねーか。
C-u 数値 M-x indent-rigidly
C-u を使えばコマンドにパラメータを渡すことができるなんて、知らんかったよ。