将函数应用于 emacs 中的所有缓冲区

发布于 2024-12-19 14:59:24 字数 187 浏览 3 评论 0原文

假设我想将 delete-trailing-whitespace 应用于 Emacs 会话中的所有缓冲区。我怎样才能做到这一点?

我在这次会议中有很多缓冲。因此,我需要某种方法来自动应用 Mx delete-trailing-whitespace 来手动每个缓冲区。

非常感谢

Suppone that I want to apply delete-trailing-whitespace to all buffers in an Emacs session. How can I do that?

I have in this session many buffers. So instead to apply M-x delete-trailing-whitespaceto manually each buffer, I need some way to make it automatically.

Thank you very much

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

天气好吗我好吗 2024-12-26 14:59:24

这应该可以做到:

(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)))

它不会对只读缓冲区执行任何操作。

This should do it:

(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)))

It won't do anything on read-only buffers.

送舟行 2024-12-26 14:59:24

ibuffer 是另一种选择。您可以快速选择所需的缓冲区(也许通过正则表达式),然后按 E 来评估每个缓冲区中的表单。这适用于任何形式。

ibuffer is another option. You can quickly select the buffers you want (maybe by regexp), and press E to evaluate a form in each buffer. This works for any form.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文