要发生的emacs密钥绑定搜索缓冲区

要发生的emacs密钥绑定搜索缓冲区,emacs,elisp,find-occurrences,Emacs,Elisp,Find Occurrences,我喜欢这样的选项:先执行C-s C-w,然后使用M-s o在一个单独的缓冲区中显示所有内容,但我真的希望对M-s o('occure')进行键绑定,这样我就可以键入C-s C-w C-,或类似的内容- 我已经尝试了正常的键绑定: (global-set-key (kbd "C-,") 'occur) 但是它只是执行正常的发生,而不是搜索缓冲区发生。在isearch期间绑定到M-so的命令不是默认的occure命令,而是一个名为isearch-occure的特殊版本,在isearch命中时自动调

我喜欢这样的选项:先执行C-s C-w,然后使用M-s o在一个单独的缓冲区中显示所有内容,但我真的希望对M-s o('occure')进行键绑定,这样我就可以键入C-s C-w C-,或类似的内容-

我已经尝试了正常的键绑定:

(global-set-key (kbd "C-,") 'occur)

但是它只是执行正常的发生,而不是搜索缓冲区发生。

isearch
期间绑定到M-so的命令不是默认的
occure
命令,而是一个名为
isearch-occure
的特殊版本,在isearch命中时自动调用
occure

您可以将其绑定到C-o(或C-,如果愿意)快捷方式,而无需使用
define key
命令和
isearch模式映射覆盖其他命令:

(define-key isearch-mode-map (kbd "C-o") 'isearch-occur)

通过这种方式,您可以使用序列C-sC-wC-o。

rasmus:请注意,
C-h b
,同时isearch显示所有isearch绑定
C-h k
在这种情况下也有效——因此
C-s C-h k M-s o
告诉您有关
isearch Occurse
。(
C-hc
没有绑定到isearch变体OTOH,这可能值得提出一个关于它的bug报告)。