mapと自作関数を組み合わせて、バッファの全テキストを左右反転する処理をしてみます。
まずはベースのテキストを作成。
:0r!wsl seq 64 | wsl pr -t8J
各行を処理をする関数を作ります。
:function Revline(mystr) : return join(reverse(split(a:mystr,'\zs')),"") :endfunction
試しにechoしてみます。
:echo Revline("HELLO")
大丈夫そうです。
テキストをリストに格納します。
:let a=getline("w0","w$") :call map(a,'Revline(v:val)') :echo a
ではバッファを置き換えます。
:call setline("w0w$",a)
全行左右反転できました。
コメント