3

我用 a 来深入挖掘。使用 ^ 进行备份对我来说非常不直观。我想将其更改为其他内容,例如 b 或 r 。我怎样才能做到这一点 ?我无法让 global-set-key 为同样的工作。

~干杯!新泽西州

4

3 回答 3

4

(define-key dired-mode-map [yourkey] 'dired-up-directory)

代替 [yourkey],您可以使用 [up]、“b”或“r”之类的名称,这只会在 dired 中,请注意。

(define-key dired-mode-map "b" 'dired-up-directory)

例如,您也可以控制起来。请注意,在某些情况下它更易于使用[],因此您将替换[yourkey][C-up](字面意思)

这个想法是:定义特定地图的键,并将其绑定到您想要的功能。

编辑:只是为了让你下次知道如何自己做这种事情,知道对于任何模式你都有结尾(-mode-map),所以 LaTeX-mode-map、emacs-lisp-mode-map 等。与define-key.

如果你想知道绑定到什么函数,使用C-h k(Control + h, then k) 后跟你的键,它会告诉你调用的函数可以绑定到其他东西(确保你但是,当 dired-mode 处于活动状态时调用它!)。

于 2013-01-22T00:34:56.217 回答
4

或者,如果您使用此处显示的 elisp:

C-hig (dired-x) Optional Installation Dired Jump RET

您可以使用C-xC-j来调用dired-jump.

这比dired-up-directory它在文件缓冲区中也有效(在这种情况下,它会将您带到 dired 的父目录)。

在所有情况下,生成的 dired 缓冲区都已将点设置为您来自的文件或目录。

于 2013-01-22T03:31:38.713 回答
0

对于它的价值,我使用以下内容使用e.

(add-hook 'dired-mode-hook
          (lambda ()
            (define-key dired-mode-map (kbd "e")
              (lambda () (interactive) (find-alternate-file "..")))))

这与dired-up-directory它保留在当前缓冲区中不同,而不是将父目录加载到新缓冲区中。(我曾经关心未使用的缓冲区。)

于 2013-01-22T17:08:33.807 回答