在 Mac OS 上,我可以使用终端,写入“cd”,然后将文件夹从 Finder 拖放到终端。然后我得到类似“cd /Users/...”的东西,它可以让我快速切换到相应的目录。如果我用 Mx shell 打开一个 emacs shell 并将一个文件夹拖放到其中,emacs 会以 dired 模式更改并显示我删除的文件夹的内容。如何“退出”或“退出”dired-mode 并获得一个将目录更改为我删除的文件夹的 shell?这会给我类似上面的东西,这将非常有用。
2447 次
1 回答
7
您可以实现一个函数来打开一个 shell 而不是 dired 缓冲区。此功能在许多其他情况下很有用,不仅在 DnD 的情况下
(require 'dired)
(define-key dired-mode-map "c" 'shell-instead-dired)
(defun shell-instead-dired ()
(interactive)
(let ((dired-buffer (current-buffer)))
(shell (concat default-directory "-shell"))
(kill-buffer dired-buffer) ;; remove this line if you don't want to kill the dired buffer
(delete-other-windows)))
编辑在这种情况下,您需要在 Emacs 中对目录进行 DnD,然后按“c”在该目录中调用 shell。
否则,您可以安装smart-dnd软件包并将其配置为打开 shell。我还提供了其他有用的东西,例如如果您删除 jpg 或在 c 模式下删除标题,<img ...>
则在 html 模式下创建标签。#include<...>
于 2011-11-08T16:56:48.480 回答