検索・置換・移動

たとえばwinをloose置換したいとして、:s/win/looseだとwindowsもloosedowsになってしまう。
そこで

:%s:\<win\>:loose:gc 

を使うと、windowsは対象に含まれない上、コンマやピリオドと接していても変換してくれる。(間違ってたので訂正)

例)win.p→ loose.p、win, foo→ loose, foo
便利!

とりあえず色々まとめた。

safariユーザーは円記号をバックスラッシュに

検索

/foofooを検索
[esc] または ctrl-c検索中断
:nohハイライトをやめる(:nohlsearch)
/foo/e検索後、最後の文字にカーソルを乗せる
/foo\|beep fooとbeepを一度に検索
/foo/;/testfooの後の最初のtestを見つける(fooを検索し移動、その後testを検索)


置換 :【領域】s/foo/beep/【オプション】

:s/foo/beep/現在のラインの最初のfooだけをbeepに置換
:%s/foo/beep/gci%はファイル全体を指し、gで全部(グローバル)を置換、cで置換前確認(confirm)、iで大文字小文字無視(ignore case)
:8,10 s/foo/beep/gライン8からライン10まで全部置き換え
:s:\:beep:gc foo2等fooを含む単語を除外して置換(使える!)
注):s/ foo /beep/gcだとライン末にある単語がひっかからない
:%s/^\s//gc 先頭のスペース削除(先頭のスペースを『無し』に置き換え)
:%s/^\s\+$//gc スペースのみ含むラインのスペースを削除
:%s:\s*$:: ライン末のスペースを削除(ごみ取りに使える!)
Ctrlとaカーソルの場所の数字を増やす
Ctrlとxカーソルの場所の数字を減らす
vで選択された行を指定することも出来る
注):を押すとでてくる:'<,'>に続けて入力する


replace with foo (y/n/a/q/l/^E/^Y)?(cオプションを付けたときに出て来る)

y/n: Yes/No
a: allもう確認しなくていいから全部置き換えちゃって
q: quit置換を止める
l: (line?)これだけ置換して置換を止める
^E/^Y:ctrl+e/ctrl+yで上下にスクロール

移動

{{ または }}段落移動
gd変数や関数のローカルな宣言にジャンプ
gD変数や関数のグローバルな宣言にジャンプ