「探して、飛んで/抽出して、編集して、戻る」が基本だと考え、スパゲッティになっているinitsの中身を眺めてみたのだが、結構時間を食った。 で、 おおよそ5つの方法だった。自分で把握してないのが怖い。 キーバインドのバッティングも見つけた。コピペで設定とはそうゆうことなんだろう。
- スクリーン表示中の 文字(1 or 2 文字のみ)へ移動
- avy (GitHub - abo-abo/avy)
- avy-migemo(エラーを吐くようになった201902。私の設定が原因? avyの関数名とかの更新に対応してないのが原因かも?)
- ace-jump-modeに変更した(201902)
- avy-migemo-e.g.ivy, avy-migemo-e.g.swiperは動くので、key-bindを切ってivyの方だけでmigemoを使用(201902)。
- ついに動かなくなった(201905)。
- 暫定復活(201908)。
ここに情報があった。
すごい。ありがたい(リンクミスを修正)。 - 狭い画面なんで、あまり使わないが、スクリーン内の移動は早い。
指が覚えてほしい。2文字の方を優先している。(201902)- 今、編集中のファイルから絞り込み検索、移動
- counsel isearchの代わり GitHub - abo-abo/swiper: Ivy
- ivy-occur mini-bufferからoccurへ
- occur emacs の標準、選択編集したい時だけ
- color-moccur migemoが使える
- (imenu) emacs の標準
- (imenu-list) 平滑imenuのサイドバー表示 GitHub - bmag/imenu-list
- 読み込んでる全ファイルから
絞り込み検索、移動、選択編集 - color-moccur + moccur-edit
- (imenu-anywhere)(201907)
- imenuで使えるtagを網羅していないみたい。
- ivy-modeと連動しているが、counsel-imenu とは別物で単純なsearchとの中間という印象。moccurより軽快。
- migemo に対応してない様子。
- ディレクトリ指定(配下)で検索、jump、選択編集
- ag から wgrep + wgrep-ag
- 除外指定(ag)は ~/.agignore に。
-
counsel-ag   かcounsel-rg - たまに使う。counselとの連携。
- multi-occur (>23 buildin)(201904) 使ってない
- multi-occur :: To select buffers to search individually
- multi-occur-in-matching-buffers :: To select buffers to search by regexp
- 予め定めた範囲内での検索、移動
- 少し違うけど、gtags を使う (ctags と pygments 付き global)
- counsel-gtags GitHub - syohex/emacs-counsel-gtags
- counsel-projectile-rg(201907)
- カレント配下を検索、移動(201811)、編集(201903)
- GitHub - Wilfred/deadgrep: fast, friendly searching with ripgrep and Emacs で ripgrep を使う。(git initしておくとsearch rootを変更してくれる。)
- moccurの簡易バージョン的な位置付け。集約画面での編集はできないが、検索結果がサイドメニュになる。
意外とdeadgrepがよさげだったりする。(201902)
最近(201808)は、moccur, counsel-gtags と counsel-ag がほとんどになったと思う。imenu は使わなくなってる。
(201902) 意外とdeadgrepがシンプルでよかったりする。 deadgrepのサイトに、他との比較例が ある。 gitを使ってなくても、git initしておくと良い。自動でpathを設定してくれるパッケージが多いように思う。
(201903) deadgrep に deadgrep-edit-modeが追加された。 moccur の方がきちんと編集できるみいたいだが、簡単な修正なら、これでもよさそう。
(use-package deadgrep :ensure t :bind ( ("M-s d" . deadgrep) :map deadgrep-mode-map ("r" . deadgrep-edit-mode) ;; interactive :map deadgrep-edit-mode-map ("C-c C-c" . deadgrep-mode) ))
avy-migemo.el のエラーは avy--generic-jump 関数を検索して最後の方の avy-style の文字を消せばとりあえず動きます。(4か所)
返信削除原因は avy の関数の更新に avy-migemo がついて行けてないことですね。avy--generic-jump と avy--process 関数は obsolete となっていました。なぜか互換性無くですが。新関数への橋渡しですかね。
実は新関数への置き換えもほぼ単純置き換えで動いたのですが、労力の割にあまり意味ないです。