我有两个问题,我相信有些相关:
1)在IDO中,我想将ido-restrict-to-matches更改为 C-SPC 或 C - @ 以外的其他内容。不幸的是我不知道怎么告诉emacs我想要一个不同的快捷方式(比如 C-0 )。
2)我想保护我的 C - ; 但是每当flyspell-mode运行时它超过 C - ; 。我的定义是在.emacs中:
(global-set-key (kbd "C-;") 'mark-paragraph)
但显然flyspell会覆盖这个...(尽管如此,如果我查看帮助 M-h k C - ; 确实说mark-paragraph
)
有人可以告诉我如何在这些条件下绑定/解除绑定键吗?它必须在不修改ido.el和flyspell.el并重新构建的情况下工作,对吧?
非常感谢!
答案 0 :(得分:9)
Flyspell为C-;
绑定提供了自定义功能,因此您可以M-x customize RET flyspell-auto-correct-binding RET
或在~/.emacs
中添加类似内容:
(setq flyspell-auto-correct-binding (kbd "C-~")) ; or a binding of your choice
至于ido
,你的问题有点令人困惑,因为这意味着有时候你会在迷你游戏之外使用偶像......
ido.el中的文档包含以下建议:
;; To modify the keybindings, use the ido-setup-hook. For example:
;;(add-hook 'ido-setup-hook 'ido-my-keys)
;;
;;(defun ido-my-keys ()
;; "Add my keybindings for ido."
;; (define-key ido-completion-map " " 'ido-next-match)
;; )
使用这些知识,您可以在自己的“ido-my-keys”功能中更改这样的键绑定:
(define-key ido-completion-map (kbd "C-SPC") nil)
(define-key ido-completion-map (kbd "C-@") nil)
(define-key ido-completion-map (kbd "C-0") 'ido-restrict-to-matches)
还有一个专门用于迷你缓冲器的额外ido钩子,但是不清楚为什么你需要它:ido-minibuffer-setup-hook
。