空想犬猫記

※当日記では、犬も猫も空想も扱っておりません。(旧・エト記)

じわじわありがたみを感じる Emacs コマンド

ハッカー御用達*1Emacs や Vi を使ってると,普通のエディタではできないヘンタイ的な編集が出来るようになる*2。最近,じわじわとありがたみを感じてきたコマンドを 3 つ紹介。

C-t
カーソルの前後の文字を入れ替え,カーソルをひとつ右に進める。短い単語の綴りを間違ったとき*3演算子の位置調整などに,わりと頻繁に使えるコマンドであることが分かった。消して書き直すのと,効率は変わらないかも知れない。でも「入れ替える」ところにパズル的な面白さがあって,つい使ってしまう。
C-x C-o
バッファ間移動(C-x o)に似てるけど違う。カーソルの前後(縦方向)の空白行を一行に減らすコマンド。1 行以上の空白は編集空間の無駄遣いだと信じている私は,冗長な空行をこれでシパっと消してしまうことが多い。
M-space
これは上のコマンドの横方向版。カーソル前後(横方向)の空白文字をスペース一個に減らすコマンド。1 個以上の空白は編集空間の無駄遣いだと信じている私は,冗長な空白をこれでシパっと消してしまうことが多い。空白文字を完全に消す M-\ もある(けど押しにくい)。

あと,これは習慣だけど,邪悪なエディタが生成する文末の無駄な空白を

(setq show-trailing-whitespace t)

で検知して M-x replace-regexp RET " +$" RET で消したり。何だか書いていたら「あれも,これも」になりそうなのでやめておこう。

Emacs に出会ってから 10 年経ってようやく「C-t って必要になるケースあるよね?」「あるある」って気になってきた。こんな一見「んなアホな」的なコマンドをデフォルトのキーバインドに組み込んだ Stallman はやはり雲の上の人である。

*1:真のハッカーは自前のツールを使うらしい

*2:Linux でも Mac でも Windows でも,あらゆるところに移植されているところも重要

*3:長い単語は当然,補完