ファイルセットのためのEmacs機能

ファイルセットのためのEmacs機能

Emacsでファイルセットに機能を適用する方法はありますか? (またはそうでない場合、そのような拡張について知っていますか?)

たとえば、ディレクトリにプロジェクト(たとえば、コンパイルして実行したいスクリプト、ソースコード、XMLデータベース)があるとします。これらすべてのファイルに対して1つずつこの関数を実行しようとしています。

(defun indent-buffer ()
  "Indent the whole buffer according to indent-region-function."
  (interactive)
  (indent-region (point-min) (point-max)) )

少なくともある程度の状況を複雑にすることは、Emacsがそのような機能を賢く実行するために正しいモードにある必要があるということです。もちろん、これは不可能ではありませんが、言葉です。

最も素晴らしいインターフェースは、Emacsをサーバーとして使用し、コマンドとファイルのリストを引数として送信することです。

Diredでできるなら、これが次善策です。

ベストアンサー1

バッチモードでは、パラメータを繰り返します。

emacs --batch -l cl --eval '
  (dolist (filename command-line-args-left)
    (find-file filename)
    (indent-region (point-min) (point-max))
    (save-buffer)
    (kill-buffer))'

diredでdired-map-over-marksマクロdired.elまたはdired-map-over-marks-check関数を使用してくださいdired-aux.el

(dired-map-over-marks-check indent-buffer nil 'indent)

おすすめ記事