🦉
よく忘れるvim置換のsと%s
よく忘れてしまうから,備忘録作成
%s コマンド(全体置換)
% は バッファ全体(全行) の範囲を意味する
つまり %s/検索/置換/ は ファイル全体置換
行内で最初にマッチした1箇所のみ置換
/g を付けるとその行の全てを置換
:%s/foo/bar/ " ファイル全体で最初の foo を各行1回置換
:%s/foo/bar/g " ファイル全体で foo を全部置換
s コマンド
現在行のみ を置換
書式: :s/検索/置換/
行内で最初にマッチした1箇所のみ置換
/g を付けるとその行の全てを置換
:s/foo/bar/ " 現在行の最初の foo だけ置換
:s/foo/bar/g " 現在行の foo を全部置換
それ以外にも
| コマンド | 範囲 |
|---|---|
| :s/... | 現在行 |
| :%s/... | 全行 |
| :1,5s/... | 1〜5行 |
| :.,$s/... | カーソル行〜末尾 |
| :%s/foo/bar/gc | 全体に対し置換を 確認付き で実行 |
Discussion