假设我想在Emacs会话中对所有缓冲区应用“delete-trailing-whitespace”。我该怎么办?
在这个会话中,我有很多缓冲区。因此,而不是手动地将M-x delete-trailing-whitespace
应用于每个缓冲区,我需要一种自动的方法。
非常感谢!
这应该可以解决问题:
(defun delete-trailing-whitespace-each-buffer ()
(interactive)
(mapc (lambda (buffer)
(condition-case nil
(with-current-buffer buffer
(delete-trailing-whitespace))
(buffer-read-only nil)))
(buffer-list)))
在只读缓冲区上,它不会执行任何操作。
ibuffer
是另一个选项。您可以快速选择所需的缓冲区(也许是通过正则表达式),然后按下 E 在每个缓冲区中评估一个表单。对于任何表单都适用。