emacs的dired功能很强大,但是在目录跳转的时候会产生很多buffer,虽然用a进入可以避免,但是^回原目录的时候还是会产生新buffer。在网上搜索了一下说可以通过对内置函数进行advice来实现单buffer。代码如下:
(defadvice dired-find-file (around dired-find-file-single-buffer activate)
"Replace current buffer if file is a directory."
(interactive)
(let ((orig (current-buffer))
(filename (dired-get-file-for-visit)))
ad-do-it
(when (and (file-directory-p filename)
(not (eq (current-buffer) orig)))
(kill-buffer orig))))
(defadvice dired-up-directory (around dired-up-directory-single-buffer activate)
"Replace current buffer if file is a directory."
(interactive)
(let ((orig (current-buffer)))
ad-do-it
(kill-buffer orig)))
我的问题是不知道怎么进行advice,直接新建一个.el的文件还是怎样?
请做过相关设置的高手不吝赐教!
怎样对 Emacs 内置的函数进行 advice
-
- 帖子: 60
- 注册时间: 2007-04-12 23:20
- zhan
- 帖子: 1880
- 注册时间: 2005-08-15 0:04
- 来自: 南7技校
-
- 帖子: 60
- 注册时间: 2007-04-12 23:20