将emacs中的^绑定到一些更简单的密钥

时间:2013-01-22 00:25:44

标签: emacs dired

我用a来挖掘直接。使用^重新启动对我来说非常不直观。我想把它换成别的东西,比如b或r。 我怎样才能做到这一点 ?我无法获得全球定位关键的工作。

〜干杯! NJ

3 个答案:

答案 0 :(得分:4)

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

而不是[yourkey],你可以输入[up]或" b"等名称。或者" r",这只会是直接的,请注意。

(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,然后k) 然后是你的密钥,它会显示你可以绑定到其他东西的函数被调用(确保你在直接模式处于活动状态时调用它!)。

答案 1 :(得分:4)

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

C-h i g (dired-x) Optional Installation Dired Jump RET

您可以使用 C-x C-j 来致电dired-jump

这比dired-up-directory更好,因为它也适用于文件缓冲区(在这种情况下,它会将你带到dired中的父目录)。

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

答案 2 :(得分:0)

对于它的价值,我使用以下内容使用 e 上传目录。

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

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