vi-editorで9列のテキストを開いていますが、9列目(最後の列)のタブ文字をコンマとそれに続くスペースに置き換えたいと思います。これまでのところ、私はこれを思いついた。
'2,$s#\(^.\{8\}\)\\t#\1\(\,\)#'
しかし、それは何にも一致しないようです...何かをエスケープしすぎた可能性がありますが、列の区切り文字(この場合はタブ)を指定する必要があるかどうかもわかりません。これに関する助けをいただければ幸いです。
%s/^\(\%(\t\?[^\t]\+\)\{8\}\)\t\(.*\)$/\1, \2/
これは()を置き換えますs:
^-行の開始\((グループ1)の開始
\%(内側のグループの開始
\t?0以上(行の先頭にTabaがないことを説明するため)Tab[^\t]\+続いて1鉱石以上Tabの非\)内側のグループの終わり\{8\}上記の内側のグループは8回繰り返されました\)(グループ1)の終わり\t続いてTab\(.*\)およびその他(グループ2)$行の終わりまでと:
\1- (グループ1)(8日までのすべてTab), -コンマとスペース\2- (グループ2)Tab (8日から行末までのすべて)バッファ全体で(%)。
これが1回限りの置換の場合は、代わりにマクロを使用できます(変更する最初の行の最初の文字から開始します)。
qqfTab7;cl,SpaceEscj0q
キーを押す場所は次のとおりです。
次に、を使用@qして次の行で再生します(または99@q、次の99行で再生するなど)。