2012-07-29 7 views
10

長いGoogleスプレッドシートの貼り付けられたセルを、カンマで区切られた電子メールアドレスのリストであるtxtファイルにコピーします。多くの「空白」セル、すなわちカンマで囲まれた余白がある。後に新しい行を追加するのではなく、vimの検索と置換では、改行は「^ @」と表示されます

:%s/, /,\n/g 

:私は、このコマンドを使用して新しい行で別々の各アドレスを追加しようとすると、vimので

[email protected], ,[email protected], , , , [email protected]

:だから私は、次のリストを持っている可能性があり私は代わりに "^ @"を得る。

これは文字セットと関係がありますが、修正方法はわかりません。

答えて

13

:sの置換フィールドには、改行文字として\rではなく、\nを使用する必要があります。

^@はASCIIのヌル文字です。 Vimは改行(^ M)には\ rを、ASCIIヌルには\ nを使用します。\ nを使用すると改行ではなくヌル文字が得られます。以下も参照してください:hサブ置換 - 特殊

+0

彼の '\ n'が'^@ 'と表示される理由を説明できますか? –

+4

'^ @'はASCIIのヌル文字です。 Vimは改行( '^ M ')に' \ r'を、ASCIIヌルに '\ n'を使用します。置換では' \ n'を使うと改行の代わりにヌル文字が得られます。 ':h sub-replace-special'も参照してください。 – Julian

+0

@ジュリアン:答えにその説明を載せるべきだと思います。 –

関連する問題