入門GNU Emacs(3章)

検索と置換

検索系キーバインド

Emacsには複数の検索モードがあって、今まで自分が使っていたのはインクリメンタル検索。
正規表現を使った検索も当然のように可能。

  • 単純検索(検索開始と指示すると検索が開始される)
  • インクリメンタル検索(検索ワードの入力中に検索が自動で始まる)
  • 単語検索(grep -w的な検索で、インクリメンタルではない)

インクリメンタル検索で、以下のことはこれから使っていきたい

C-s M-y

キルリングに保存されている文字列を検索する。
別のファイルにある文字列を、今のファイルで検索したい時に使いたい。

C-s C-w

カーソルが位置する単語を検索する。
同一ファイル内の別箇所に存在する単語を検索したい時に使いたい

置換系キーバインド

置換にもモードがあって、今まで自分が使っていたのは問い合わせ置換。

  • 問い合わせ置換
  • 一括置換
M-x replace-string Enter Enter Enter

カーソル以降について、search_word にマッチするものを無条件で replace_word に置換する
スペルミスなんかを修正する時に使いたい。*1

問い合わせ置換中に使えるコマンド

M-% Enter Enter 実行中に使えるもの。
今まで自分が使っていたのは、"y" と "n" だけ。

  • !
    • これから先にマッチしたものを無条件に置換してくれる。
    • ある程度思い通りの置換が出来てることが確認できた時に、後は一括置換って時に使えるかな
  • C-r(再帰編集)
    • 置換の最中に別の文字列等々を編集出来るモードに入る。
    • 置換の最中に、編集したくなる時ってままあるので便利そう
    • 再帰編集モードを抜けるにはC-M-c(Ctl + Meta + c)
    • 問い合わせ置換自体も含めてやめるには C-]
  • ^
    • 一つ前にマッチした場所に戻る
    • 使う場面がパッと浮かばないけど、知っておくと何か便利そう

取り合えず記録記録

C-s Enter 検索文字列 Enter

単純検索する。C-s を C-r に変えると逆順で検索してくれる。

C-s Enter C-w 検索単語

あるまとまった語句および単語を検索する。

入門 GNU Emacs 第3版

入門 GNU Emacs 第3版

*1:同じスペルミスは至る所でしてるはず。。。