Anything 使っていると、anything 関連機能において "英大文字で入力ができなくなる" という事象にみまわれてました。調べるのメンドいからずっと放置してたんだけど、今日ちょっと調べてみた。
困ること
例えば、anything-find-file を使うときに、"Test.txt" というようなファイルを Emacs から作成することができなくなります。これはスゴいストレスで、このままだとストレス性のハゲができてしまう。
解決策
anything-map にて、"A" から "Z" キー self-insert-command にリバインドすると大文字入力可能になります。
(loop for c from ?A to ?Z do (define-key anything-map (make-string 1 c) 'self-insert-command))
原因
anything.el で、"A"から"Z"までのキーが anything-select-with-digit-shortcut にバインドされてること。
(defvar anything-map (let ((map (copy-keymap minibuffer-local-map))) (define-key map (kbd "<down>") 'anything-next-line) ;; 略 (loop for c from ?A to ?Z do (define-key map (make-string 1 c) 'anything-select-with-digit-shortcut)) ;; 略
anything-select-with-digit-shortcut はショートカットキーによる選択機能(anything-enable-shortcuts) を有効にしている場合にのみ効果があるので、この機能を使ってない人にとっては、リバインドしても無害なはず。