作曲・浄書・指導・音響

金沢音楽制作

金沢音楽制作では、楽曲・楽譜の制作と、作曲や写譜などレッスンを行っています。

Vimの置換操作

Vimの置換についてのメモです。

置換の基本

:s/hoge/fuga/
:s/hoge/fuga/c
:s/hoge/fuga/g
:s/hoge/fuga/i

「:s」は置換(substitute)の意味。行末に何もつけない場合は、その行の最初に一致したものだけが置換される。行末に「c」をつけた場合は、確認が行われる。行末に「g」をつけた場合は、その行の一致したすべてのものが置換される。行末に「i」をつけた場合は、大文字小文字を無視して置換する。

範囲を指定する

:s/hoge/fuga/
:%s/hoge/fuga/
:,$s/hoge/fuga/
:1,s/hoge/fuga/
:1,100s/hoge/fuga/

「%」はすべて(ggからGまで)が対象。

マークを利用した範囲指定

:'s,'es/hoge/fuga/g

デリミタ

:%s/ho\/ge/fu\/ga/g
:%s;ho/ge;fu/ga;g
:%s#ho/ge#fu/ga#g

行頭・行末に文字を追加する

:s/^/head/
:s/$/end/

文字列の有無で行を削除する

:g/hoge/d
:v/hoge/d

「:g」は文字列がある行を削除する。「:v」は文字列がない行を削除する。

改行を扱う

:s/\n//
:s//\n/

「\n(^M)」はLR。「\r(^K)」はCR。

複数ファイルを置換する

:args ./*.html
:args
:argdo %s/hoge/fuga/g | update