【问题标题】:Apply a function to all buffers in emacs将函数应用于 emacs 中的所有缓冲区
【发布时间】:2011-12-04 23:02:38
【问题描述】:

假设我想将delete-trailing-whitespace 应用于 Emacs 会话中的所有缓冲区。我该怎么做?

我在本次会议中有很多缓冲区。因此,为了手动应用 M-x delete-trailing-whitespace 到每个缓冲区,我需要一些方法来自动生成它。

非常感谢

【问题讨论】:

    标签: emacs emacs23


    【解决方案1】:

    应该这样做:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-03-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-30
        • 2011-10-12
        • 2011-11-04
        相关资源
        最近更新 更多