5

当我浏览文件系统时,我设法在一个窗口中完成了繁琐的工作。

改善人体工程学,我决定为我最常用的目录创建书签,其短名称如:'lwt'、'eve' 等。但每次打开书签时,都会创建新的目录缓冲区,即使旧缓冲区存在。

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

4

3 回答 3

4

编辑:

最初的答案实际上是一个非答案。我为没有正确测试它而道歉。我会把它留在这里,这样其他潜在的回答者就不会像我一样被误导。

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

原答案:

您观察到的行为只是dired的一般“导航时创建新缓冲区”行为的副作用。这一事实使这个问题几乎与如何阻止 emacs dired 模式打开这么多缓冲区?.

在那里和Dired Reuse Directory Buffer Emacs Wiki 页面提出的解决方案中,可能最简单的一个是安装Dired+包并切换目录缓冲区重用:

(toggle-diredp-find-file-reuse-dir 1)

在你的.emacs文件中。

于 2012-10-26T17:49:03.680 回答
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)
于 2013-05-04T19:09:45.797 回答
0

使用Bookmark+,至少bookmark-jump( C-x j j) 到 Dired 书签确实会重用 Dired 缓冲区(如果它已经存在)。

于 2013-10-30T20:20:31.697 回答