分页: 1 / 1

怎样对 Emacs 内置的函数进行 advice

发表于 : 2008-03-24 11:09
sonchonjay
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的文件还是怎样?
请做过相关设置的高手不吝赐教!

发表于 : 2008-03-24 18:05
zhan
写进 .emacs 吧

发表于 : 2008-03-24 19:44
sonchonjay
直接写进去吗?好,我试试

发表于 : 2008-03-27 22:14
redflow
用dired-single就可以了