Vimスクリプト(map)

各リストを一括で処理するため、map関数を覚えます。
mapの第1引数に、処理対象のリスト、
第2引数に評価式を書きます。
前回使ったテキストを使います。

:call map(a,'"ABCDE " . v:val')
:echo a

v:valには、リストaの各要素が入ります。

リストaの内容は書き換えられていますので、このままsetlineしてテキストを置き換えます。

:call setline("w0w$",a)

置き換わりました。

次は先ほどとは逆に、各行頭につけた”ABCDE “を、substituteを使って削除してみます。

:call map(a,'substitute(v:val,"ABCDE ","","")')
:echo a

リストaが置換されたので、バッファ上のテキストと置き換えます。

:call setline("w0w$",a)

元に戻りました。

コメント

タイトルとURLをコピーしました