swiper-region / swiper-isearch-region
swiper/swiper-isearchをregion選択からも使えるようにするための設定。isearchではmigemoも使えるようにした。
(with-eval-after-load 'ivy'
としているのは、(use-package avy-migemo-e.g.swiper)
を遅延ロードさせてEmacsの起動時間を短縮するため。
設定
(defun swiper-isearch-region ()
"If region is selected `swiper-isearch' with the keyword selected in region.
If the region isn't selected `swiper-isearch'."
(interactive)
(if (not (use-region-p))
(swiper-isearch-migemo)
(deactivate-mark)
(swiper-isearch (buffer-substring-no-properties
(region-beginning) (region-end)))))
(defun swiper-region ()
"If region is selected `swiper' with the keyword selected in region.
If the region isn't selected `swiper'."
(interactive)
(if (not (use-region-p))
(swiper)
(deactivate-mark)
(swiper (buffer-substring-no-properties
(region-beginning) (region-end)))))
(with-eval-after-load 'ivy
(use-package avy-migemo-e.g.swiper)
(defun swiper-isearch-migemo ()
"Using migemo with `swiper-iserach'."
(interactive)
(avy-migemo-mode 1)
(swiper-isearch)
(avy-migemo-mode 0)))
avy-migemo でエラー発生
avy、swiper、counsel の最近の仕様変更により関数名などが変わったため現状ではエラーが出るようになった。その対応のために下記のPRが出されているがまだマージされていないようなので、自分で差し替えて使っている。