修改Emacs isearch键绑定到yank

时间:2014-05-13 23:31:33

标签: emacs hotkeys

我希望能够在emacs搜索模式下使用M-v热键来粘贴文本。我知道我可以将绑定添加到isearch-mode-map但是当我尝试绑定yank作为方法时,它会将文本拉入当前缓冲区,而不是搜索输入。如何在搜索模式下按C-y时找到调用的命令?

2 个答案:

答案 0 :(得分:3)

使用isearch-yank-kill代替yank。试试(lookup-key isearch-mode-map (kbd "C-y"))。我使用minibuffer-inactive-mode-mapminibuffer-local-mapminibuffer-local-completion-map。你可以通过 Ch v - m a p TAB 。函数(current-local-map)可以提供帮助。另请参阅http://www.gnu.org/software/emacs/manual/html_node/elisp/Controlling-Active-Maps.html

更新:当前本地键盘的名称,功能keymap-symbol的定义,请参阅https://stackoverflow.com/a/14490054/1937596

如果您使用

(setq enable-recursive-minibuffers t)

您可以在迷你缓冲区中通过热键拨打(eval-expression)并执行(current-local-map)(keymap-symbol (current-local-map))

答案 1 :(得分:2)

键入 C-s C-h k C-y 会告诉您:

  

C-y运行命令isearch-yank-kill。

更一般地说,在isearching时键入 C-h k ,然后键入您想要了解的键序列。当然,当你搜索时,类似于 C-h k

键入 Ch b ,而isearching显示isearch绑定的所有,这同样类似于 Ch的输出 b 当你没有搜索时。

另一个isearch帮助绑定是 Ch m 以显示模式帮助, Ch Ch 为您提供上述所有菜单。