検索・置換・移動
たとえばwinをloose置換したいとして、:s/win/looseだとwindowsもloosedowsになってしまう。
そこで
:%s:\<win\>:loose:gc
を使うと、windowsは対象に含まれない上、コンマやピリオドと接していても変換してくれる。(間違ってたので訂正)
例)win.p→ loose.p、win, foo→ loose, foo
便利!
とりあえず色々まとめた。
※safariユーザーは円記号をバックスラッシュに
検索
/foo | fooを検索 |
[esc] または ctrl-c | 検索中断 |
:noh | ハイライトをやめる(:nohlsearch) |
/foo/e | 検索後、最後の文字にカーソルを乗せる |
/foo\|beep | fooとbeepを一度に検索 |
/foo/;/test | fooの後の最初の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:\ | foo2等fooを含む単語を除外して置換(使える!) 注):s/ foo /beep/gcだとライン末にある単語がひっかからない |
:%s/^\s//gc | 先頭のスペース削除(先頭のスペースを『無し』に置き換え) |
:%s/^\s\+$//gc | スペースのみ含むラインのスペースを削除 |
:%s:\s*$:: | ライン末のスペースを削除(ごみ取りに使える!) |
Ctrlとa | カーソルの場所の数字を増やす |
Ctrlとx | カーソルの場所の数字を減らす |
注):を押すとでてくる:'<,'>に続けて入力する
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 | 変数や関数のグローバルな宣言にジャンプ |