3

我已经使用 emacs 多年,并且习惯于让 emacs 在执行 dired 的同一窗口中打开选定的文件。在最近的版本中,当 dired 在打开 2 个窗口的情况下执行时,选定的文件将显示在备用窗口中从干的。如何设置 emacs 以使用相同的窗口将文件显示为已死(允许我同时查看两个文件——emacs 过去的工作方式)?

4

2 回答 2

8

根据上面的评论,检查C-hkRET何时在 dired 以查看RET绑定的内容(或者如果您使用另一个键,则类似地)。

dired-find-fileswitch-to-buffer可能导致缓冲区在另一个窗口中打开的用途:

如果所选窗口是 minibuffer 窗口或专用于其缓冲区,则使用 `pop-to-buffer' 来显示缓冲区。

不过,这似乎不太可能成为问题。

编辑:啊,你正在使用鼠标。在有关 Emacs 的问题中明确地说出来通常很好,因为大多数 Emacs 用户很少触摸鼠标。

但是,同样的答案适用:从 dired 输入C-hk,然后输入您正在使用的“键”绑定(在本例中单击鼠标按钮 1),它告诉我们:

----------------- up-event(短按)----------------

<mouse-1> 在那个位置被重新映射到 <mouse-2>,它运行命令 dired-mouse-find-file-other-window,它是 `dired.el' 中的一个交互式编译的 Lisp 函数。

(dired-mouse-find-file-other-window 事件)

在 Dired 中,访问您单击的文件或目录名称。

dired-mouse-find-file由于某种原因没有默认功能,但以下内容会伪造它:

(add-hook 'dired-mode-hook 'my-dired-mode-hook)
(defun my-dired-mode-hook ()
  (local-set-key (kbd "<mouse-2>") 'dired-mouse-find-file))

(defun dired-mouse-find-file (event)
  "In Dired, visit the file or directory name you click on."
  (interactive "e")
  (require 'cl)
  (flet ((find-file-other-window
          (filename &optional wildcards)
          (find-file filename wildcards)))
    (dired-mouse-find-file-other-window event)))
于 2011-03-03T14:07:22.057 回答
5

在 dired 中的文件上按 Enter 键会在同一窗口中打开该文件。按下odired 中的文件会在其他窗口中打开它。您确定没有在 .emacs 中重新绑定这些键吗?

于 2011-03-03T17:14:28.720 回答