Emacsでanything起動中にanythingを起動してしまう


anything-for-filesをkbd("C-:")に割り当てて使ってます

(global-set-key (kbd "C-:") 'anything-for-files)

ファイル開くときは全部これで開きます。便利です
ただ、anything起動中にanythingを起動してエラーを発生させてしまうことがたびたびあってイラっとします

説明

anything-for-filesを起動すると、anythingのバッファが開き、カーソルはミニバッファに移動します

ここで、anythingの処理をやめたい場合は、C-g(abort-recursive-edit)するのが普通で、もとのバッファにカーソルが戻って、ファイル編集を続けられます

普段はそうするのですが、なぜか、もう一度C-:をタイプしてしまい、ミニバッファに

Command attempted to use minibuffer while in minibuffer

というエラーを出してしまうことが、1日に何度もありました。


このエラーを出してしまうと、そのあとにC-gしても 今度はミニバッファに

No recursive edit is in progress

ととでるばかりで、ミニバッファから抜けられられなくなります
(しかたないのでC-x o(other-window)で抜けます)

おまけに、anythingのバッファが残りっぱなしです

日になんどもこのエラーを起こしてたので、さすがになんとかしようと思いたち、以下の設定をいれました

対応

anythingを起動するのに割り当てたキーを、anything-mapでabort-recursive-editにも割り当てました

(define-key anything-map (kbd "C-:") 'abort-recursive-edit)

これで、間違ってanything起動中にanythingを起動、ということはなくなりました


Emacsテクニックバイブル ?作業効率をカイゼンする200の技?

Emacsテクニックバイブル ?作業効率をカイゼンする200の技?