今回は、Vimの置換、sコマンドです。
sコマンドは、substituteコマンドの略ですが、長くて覚えにくいので、sしか知らない人もいるでしょうね。
そのsコマンド。
基本の使い方はこれです。
s/置換前正規表現/置換後文字列/
今回は、置換後文字列に関数を指定する方法。
つまり、
s/置換前正規表現/関数/
こういうことです。
ちょっと使ってみます。
WindowsだったらPowerShell等で適当に文字列をこしらえます。
(LinuxやUNIXならseqコマンドとかで)
1から100までの数列ができました。
これをgコマンドを使って、
10 x 10のマトリクスに変形。
実験用テキストができたので、これをs///で置換してみます。
s/置換前正規表現/関数/
関数を指定するには、
\=
を使います。
では、数字の桁数を全部2桁に揃える置換をやってみます。
:%s/\v(\d)/\=printf("\%02x", submatch(1))/g
できました。
コメント