2

有时我打开来自不同源树的文件以与当前树进行比较。我想要一个函数来杀死所有这些打开的文件,这些文件不驻留在“默认树”中,用户在执行函数时会提示保留或更改这些文件。

4

1 回答 1

1

将 default-tree 设置为您想要的目录的名称(它必须是绝对路径)。

(defun bruce-connor-buffer-killer ()
(interactive)
(unless (file-directory-p default-tree) (error "You forgot to set `default-tree'."))
(let ((case-fold-search nil)
      (dir-length (length default-tree)))
  (dolist (buffer (buffer-list))
    (when (buffer-file-name buffer)
    (unless (equal t (compare-strings
                      (expand-file-name (buffer-file-name buffer)) 0 dir-length
                      default-tree 0 nil)))
       (kill-buffer buffer)))))
于 2013-08-05T23:34:43.343 回答