我已经使用 emacs 多年,并且习惯于让 emacs 在执行 dired 的同一窗口中打开选定的文件。在最近的版本中,当 dired 在打开 2 个窗口的情况下执行时,选定的文件将显示在备用窗口中从干的。如何设置 emacs 以使用相同的窗口将文件显示为已死(允许我同时查看两个文件——emacs 过去的工作方式)?
2 回答
根据上面的评论,检查C-hkRET何时在 dired 以查看RET绑定的内容(或者如果您使用另一个键,则类似地)。
dired-find-file
switch-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)))
在 dired 中的文件上按 Enter 键会在同一窗口中打开该文件。按下o
dired 中的文件会在其他窗口中打开它。您确定没有在 .emacs 中重新绑定这些键吗?