有时我会打开来自不同源树的文件来与当前树进行比较。 我希望有一个函数可以杀死所有这些打开的文件,这些文件不存在于用户在执行函数时保持或更改的“默认树”中。
答案 0 :(得分: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)))))