emacs dired-mode:如何"退出"并以当前目录中的shell结束?

Mar*_*ert 9 emacs dired

在Mac OS上我可以使用终端,写"cd",然后将文件夹从Finder拖放到终端.然后我获得类似"cd/Users/..."的东西,这允许我快速更改到相应的目录.如果我打开带有Mx shell的emacs shell并将文件夹拖放到它,emacs会以dired模式更改并显示我删除的文件夹的内容.如何"退出"或"退出"直接模式并获取一个目录更改为我删除的文件夹的shell?这会给我一些类似上面的东西,这将是非常有用的.

Ole*_*liv 6

您可以实现一个函数来打开shell而不是dired buffer.此功能在许多其他情况下非常有用,不仅适用于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)))
Run Code Online (Sandbox Code Playgroud)

编辑在这种情况下,您需要在Emacs中输入DnD目录,然后按"c"调用此目录中的shell.

否则,您可以安装smart-dnd软件包并将其配置为打开shell.我还提供了其他有用的东西,比如<img ...>你在html模式下创建标签,如果你放弃jpg或者#include<...>在c模式下如果你删除标题.

  • 好吧,我明白了,这不是一件容易的事。到目前为止,我只使用 1) Mx dired 2) 使用“a”导航到您喜欢的文件夹 3) Cu Mx shell =&gt; 该 shell 在您导航到的文件夹中打开 2) (2认同)