keyboard macroの最中はhelmを使わない
個人的にC-s
での検索に通常のisearch-forward
ではなく,
helm-swoop
を利用している.
しかしこうすると, keyboard macroを入力している間にhelmが走り、これがどうやら後ほどkeyboard macroを再生するときに問題があるようだ.
keyboard macroを記録中かどうかはdefining-kbd-macro
という変数を見ればわかるようだ. また, keyboard macroの実行中はexecuting-kdb-macro
を見ればわかる.
defining-kbd-macro
がt
のときはisearch-forward
を利用するようにする.
;; (global-set-key (kbd "C-s") 'helm-swoop) (defun my-search-forward () "Customized search function to use helm-swoop except for in defining keyboard macro." (interactive) (if (or defining-kbd-macro executing-kbd-macro) (isearch-forward) (helm-swoop))) (global-set-key (kbd "C-s") 'my-search-forward)
同様のkeyboard macroが有効かに応じて挙動を切り替える設定は他の色々なものに利用できるはず.