手元のソースコードをハードタブからソフトタブに変換するには

「tabify」と「untabify」を使う。
もっと具体的に言えば「C-x h (M-x mark-whole-buffer)」でソースコード全体を選択してから

  • 「ソフト → ハード」なら「M-x tabify」を実行する。
  • 「ハード → ソフト」なら「M-x untabify」を実行する。


「C-M-% (M-x query-replace-regexp)」を使って
正規表現の置換一発で何とかしてやろうとしばらく考えてみたけど
うまいやり方が思いつかなかった。


誤ったやり方である置換一発を目指して
「re-builder」でがんばっているときに今更ながらに思ったことがある。
Emacs正規表現ってやっぱり見辛い…(´・ω・`)
行頭からはじまる空白2つの連続を空白2つごとにグルーピングすると以下のようになるんだけど

^\\( \\{2\\}\\)+

Perl とか Ruby とかの LL な言語の正規表現に比べて圧倒的に見辛いよ…。
「re-builder」なかったら死ぬ。