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

时间:2011-11-08 15:35:14

标签: emacs dired

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

1 个答案:

答案 0 :(得分: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)))

编辑在这种情况下,你需要在Emacs中输入一个目录,然后按'c'调用此目录中的shell。

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