1

我的 .emacs 文件中有以下内容:

(global-set-key "\M-s" 'switch-to-buffer)

但是,当我处于 Dired 模式“查看目录”时,Ms 不会执行“切换到缓冲区”,而是显示 Ms 正在等待更多输入。

在 dired 模式下如何让 switch-to-buffer 工作?

4

1 回答 1

2

M-s现在是一个 Isearch 前缀键。在 Dired 模式下,默认情况下您有这些绑定(尝试M-s C-h使用 `emacs -Q'):

Major Mode Bindings Starting With M-s:
key             binding
---             -------

M-s a       Prefix Command
M-s f       Prefix Command

M-s f C-s   dired-isearch-filenames
M-s f ESC   Prefix Command

M-s a C-s   dired-do-isearch
M-s a ESC   Prefix Command

M-s f C-M-s dired-isearch-filenames-regexp

M-s a C-M-s dired-do-isearch-regexp



Global Bindings Starting With M-s:
key             binding
---             -------

M-s .       isearch-forward-symbol-at-point
M-s _       isearch-forward-symbol
M-s h       Prefix Command
M-s o       occur
M-s w       isearch-forward-word

M-s h .     highlight-symbol-at-point
M-s h f     hi-lock-find-patterns
M-s h l     highlight-lines-matching-regexp
M-s h p     highlight-phrase
M-s h r     highlight-regexp
M-s h u     unhighlight-regexp
M-s h w     hi-lock-write-interactive-patterns

所以你选择绑定M-s到不同的东西不是一个很好的选择,对于 Dired 模式和一般来说。您可以这样做,但是您要么必须定义不同的 Isearch 前缀键,要么在前缀键上不使用 Isearch 命令。

请记住,当 Emacs 似乎在等待更多键时,您可能键入了前缀键。请记住,您可以(通常)键入前缀键,然后点击C-h查看具有该前缀的键。

如果您使用库help-fns+.el,那么您可以使用C-h M-k( describe-keymap) 获取为绑定到变量的给定键映射定义的所有(非菜单)键的人类可读列表。在这种情况下,C-h M-k dired-mode-map向您显示该键映射中的所有键。

于 2013-11-14T21:32:26.470 回答