Emacsのiswitchbで、普段は*...*を完全無視して必要なときだけ出す設定
普段は*...*を完全無視する↓
(add-to-list 'iswitchb-buffer-ignore "\\`\\*")
iswitchbのミニバッファの先頭に*が入力されている時だけ↑の無視設定を解除する。
(setq iswitchb-buffer-ignore-asterisk-orig nil) (defadvice iswitchb-exhibit (before iswitchb-exhibit-asterisk activate) "*が入力されている時は*で始まるものだけを出す" (if (equal (char-after (minibuffer-prompt-end)) ?*) (when (not iswitchb-buffer-ignore-asterisk-orig) (setq iswitchb-buffer-ignore-asterisk-orig iswitchb-buffer-ignore) (setq iswitchb-buffer-ignore '("^ ")) (iswitchb-make-buflist iswitchb-default) (setq iswitchb-rescan t)) (when iswitchb-buffer-ignore-asterisk-orig (setq iswitchb-buffer-ignore iswitchb-buffer-ignore-asterisk-orig) (setq iswitchb-buffer-ignore-asterisk-orig nil) (iswitchb-make-buflist iswitchb-default) (setq iswitchb-rescan t))))
ちょー見易くなった。
もっとロジック簡単になるかもしれないけど、やっつけ仕事なので。