当我浏览文件系统时,我设法在一个窗口中进行直接工作。
改善人体工程学,我决定为我最常用的目录创建书签,如短名称:'lwt','eve'等。但每次打开书签时,都会创建新的dired缓冲区,即使是旧的一个存在。
如何让它在现有的dired缓冲区中打开书签?
答案 0 :(得分:4)
原来的回答实际上是不回答。我为没有正确测试它而道歉。我会留在这里,所以其他潜在的回答者不会像我一样被误导。
我同时仔细研究了bookmark.el
的源代码,dired+
修改对它没有任何影响。默认情况下,bookmark-jump
函数使用switch-to-buffer
函数作为其显示函数。 bookmark-jump
但是有一个可选的display-func
参数,所以一个可能的解决方案(涉及一些elisp黑客)将创建一个重用当前dired缓冲区的函数(基于dired+
源代码)并用它调用bookmark-jump
,如果这个概念有效,那么将它绑定到键盘快捷键。
您正在观察的行为只是一般“在导航 dired 的行为时创建新缓冲区的副作用。这个事实使这个问题几乎与How do I stop emacs dired mode from opening so many buffers?重复。
在那里和Dired Reuse Directory Buffer Emacs Wiki页面中提出的解决方案中,最简单的可能是安装Dired+包并将目录缓冲区重用切换为:
(toggle-diredp-find-file-reuse-dir 1)
在.emacs
文件中。
答案 1 :(得分:0)
如果这可以提供帮助 - 这就是我用来在同一个缓冲区中打开书签的方法。
(defun my-bookmarks-list-same-buffer ()
"Open *Bookmarks* in current buffer."
(interactive)
(bookmark-bmenu-list)
(switch-to-buffer "*Bookmark List*"))
(global-set-key (kbd "s-b") 'my-bookmarks-list-same-buffer)
答案 2 :(得分:0)
对于Bookmark+,至少,bookmark-jump
(C-x j j
)到Dired书签会重新使用Dired缓冲区(如果已存在)。