今日のvim(20150213):置換

1日1コマンド/機能を目指そう。

今までのおさらい

v 範囲選択開始

d 切り取り

dd 行切り取り

3ddとかすると3行切り取ってくれる

y コピー(ヤンク)

yy 行コピー

3yyとかすると3行コピってくれる

p ペースト

ctrl + c でモードから抜ける。escctrl + [でもできるけどこっちのが好み。

u undo(アンドゥと読むらしい)戻る

ctrl + r redo(リドゥと読むらしい)戻るを戻す=進む

gg ファイルの先頭

G ファイルの一番うしろ

^ 行の先頭(インデント考慮)

0 行の先頭(インデント無視)

$ 行の一番うしろ

{ ブロック先頭

} ブロック一番うしろ

f + 探したい文字 行内で特定の文字の先頭(前方向に探す)

F + 探したい文字 行内で特定の文字の先頭(後ろ方向に探す)

t + 探したい文字 行内で特定の文字の手前(前方向に探す)

T + 探したい文字 行内で特定の文字の手前(後ろ方向に探す)

ggVG 全体選択

今日のテーマ:置換

:s + / + 置換される文字列 + / + 置換後の文字列 + / + g 行の文字列の置換

:%s + / + 置換される文字列 + / + 置換後の文字列 + / + g ファイル内の文字列の置換

:s で今いる行だけ、:%s でファイル内全部 かを指定できるみたいだ。

vimrcに、↓の設定いれると最後の g なくても最初にヒットした文字だけじゃなくて置換してくれるようになった。

set gdefault

エスケープ記号

\ エスケープ記号

よくあるディレクトリのパスの "/" を "\" に置換したい場合は、これ↓でできた。

:s/\//\\

正規表現

改行コードの \n を , にしたいとき↓

`:s/\n/,

ほんとは改行の削除を1回のコマンドでやりたいけどうまくいかない…('_';)

→ 20150518 できた。

snoopopo.hatenablog.com

今週のテーマ

・ファイル間移動 は来週へまわす。

来週以降どうにか

・ファイル間移動

・比較

vimプラグイン管理?