我的 .emacs 文件中有以下内容:
(global-set-key "\M-s" 'switch-to-buffer)
但是,当我处于 Dired 模式“查看目录”时,Ms 不会执行“切换到缓冲区”,而是显示 Ms 正在等待更多输入。
在 dired 模式下如何让 switch-to-buffer 工作?
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
向您显示该键映射中的所有键。