当前,我生成静态文件,但这些文件未正确缩进。 Emacs的自动缩进可与c-x h tab
配合使用,但这是针对每个文件的。我想自动缩进多个文件(例如50左右,因此手动执行是不可行的)。
有什么办法可以做到这一点?无论是使用其他文本编辑器还是脚本等。如果有帮助,大多数文件都是.html
。
答案 0 :(得分:0)
我用一些HTML文件测试了下面的代码,它运作良好。
(defun indent-file (file-name)
(save-window-excursion
(find-file file-name)
(indent-region (point-min) (point-max))
(write-region nil nil file-name)))
;; argv is a list stores command line option. In this case, it will be ("/your/directory/path").
;; directory-files-recursively will find files recursively, and it needs emacs 25.1 or later.
(let* ((target-dir (car argv))
(target-file-names (directory-files-recursively target-dir ".*.html$")))
(dolist (file-name target-file-names)
(indent-file file-name)))
emacs --script indent-files.el "/your/directory/path"
如果您确实想使用emacs lisp作为通用脚本语言,那将非常棘手。这里有一些提示:https://swsnr.de/blog/2014/08/12/emacs-script-pitfalls/