4

私は、多少関連している2つの問題を抱えています。

C-SPC1) IDO では、ido-restrict-to-matches をor以外の同じものに変更したいと思います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 を変更して再ビルドせずに動作する必要がありますよね?

どうもありがとう!

4

1 に答える 1

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 を使用している場合があることを意味するため、質問は少し混乱しています...

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.

于 2011-07-08T13:23:36.567 に答える