dmacroでemacsの面倒な操作を乗り切るdmacroでemacsの面倒な操作を乗り切る#emacs2023年4月10日dmarcoは増井さんが考案した反復処理パッケージです。emacs上で操作したあらゆる入力や操作をdmacroは学習し、繰り返してくれます。打ち込んだ文字だけを繰り返すならば、いくらでも反復できそうですが、dmacroはそれだけでなくコマンド入力も繰り返してくれるので、簡単なものだったらemacsの操作自体を自動化できます。dmacroのざっくりした説明は増井さんの公式ページが良いと思います。http://www.pitecan.com/Index/dmacro.html数年前まではmelpaに登録されていないかったので、自分で用意する必要がありましたが、今は有志が登録してくれたのでuse-packageから簡単にインストールして使えます。これが完成済みコードです。(global-dmacro-mode))文字入力のマクロ一番簡単なマクロは文字入力のマクロです。dmacroが操作を繰り返すためには少なくとも同じ処理を二回入力する必要があります。emacs上で123,123,と123,を二回打ち込みました。その後でC-tをタイプすると、123,が打ち込まれます。C-tすれば同じように123,が入力されます。操作のマクロより便利な操作のマクロを試しましょう。今下のようなテキストがあるとします。bananaこれを下のようなテキストにしたいとします。banana正規表現やEmacsに手慣れている人は簡単に置換できるかもしれません。いった高等テクニックを使わなくてもdmacroを使えば、いい感じに変換できます。bananaのテキストを貼り付けて、カーソルをfishのfに合わせて、以下の手順を試してみてください。1〜4までの操作が1回目、5〜8までの操作が二回目の操作になります。「-」をタイプ、「スペース」をタイプM-fをタイプC-dをタイプ「エンター」をタイプ「-」をタイプ、「スペース」をタイプM-fをタイプC-dをタイプ「エンター」をタイプあとはC-tをタイプし続ければ、リスト化するマクロが走ります。まとめちょっとした操作でも、繰り返すとなると大変になるときにdmacroは大活躍します。何か反復的に面倒なことをやっているぞと気づいた時はdmacroを思い出して使ってみてください。Ted大学でコンセンサスアルゴリズムを研究。卒業後ベンチャー企業に入社してフルスタックでWebサービスを開発。現在は大手IT企業に転職し、プログラミングを行っている。AIにプログラマーの仕事を奪って欲しいと願っている。