Emacs:如何在同一窗口中打开dired书签

use*_*035 5 emacs bookmarks elisp dired

当我浏览文件系统时,我设法在一个窗口中进行直接工作.

改进了人体工程学,我决定为我最常用的目录创建书签,其中包括短名称:'lwt','eve'等.但每次打开书签时,都会创建新的dired缓冲区,即使旧的存在也是如此.

如何让它在现有的dired缓冲区中打开书签?

Ped*_*ano 4

编辑:

原来的答案实际上是一个不答案。我很抱歉没有正确测试它。我将把它留在这里,这样其他潜在的回答者就不会像我一样被误导。

同时我仔细查看了源代码bookmark.eldired+修改对它没有任何影响。默认情况下,该bookmark-jump函数使用该switch-to-buffer函数作为其显示函数。bookmark-jump但是有一个可选display-func参数,因此一个可能的解决方案(涉及一些 elisp hacking)是创建一个重用当前 dired 缓冲区(基于源dired+代码)并调用bookmark-jump它的函数,如果这个概念有效,则绑定到键盘快捷键。

原答案:

您所观察到的行为只是dired一般“导航时创建新缓冲区”行为的副作用。这一事实使得这个问题几乎与How do I stop emacs dired mode from opening so much buffers?重复。

Dired Reuse Directory Buffer Emacs Wiki 页面提出的解决方案中,最简单的可能是安装Dired+包并使用以下命令切换目录缓冲区重用:

(toggle-diredp-find-file-reuse-dir 1)
Run Code Online (Sandbox Code Playgroud)

在你的.emacs文件中。