Kamuycikap - SentenceDataBase

日々の勉強の記録を気分で書き綴るブログ

リージョン指定した範囲のインデント操作

xyzzyを利用していていて、範囲選択してShift-TABとかTABとかのインデント操作が恋しくなることがあります。
M-x index-sexpを利用すればいいんですが、自分の思うインデント幅になっていなかったり、{}が存在しなかったりと都合悪い事もあって。。。(index-sexpの変数を変更すればいいんだろうけれど、Lispに関してそこまでの技術力が無いのと早い回答を導き出したかったのと・・・)

ナローイング、ワイドニング、キーボードマクロの組み合わせ

1.C-x n インデント操作したい範囲をナローイング
2.マクロ記録開始
3.インデント操作を行う(半角スペース2つ追加とか、インデント文字を削除とか)
4.マクロ記録終了
5.マクロを実行したい列にカーソル移動
6.Esc-0 C-x e を実行
7.C-x w ワイドニング実行

こんな感じで簡易的に実現してみました。
これを関数にしたりして、手順6番を簡略できればさらに楽できるかなと。
Lispに精通している人なら、自分が利用しているモードのindex-sexpを改造するんだろうけれど、またそれは後ほど勉強してみよう・・・。