viで見えない文字をエスケープシーケンスに変換しますか?

viで見えない文字をエスケープシーケンスに変換しますか?

vimの私のテキストは次のとおりです。

i am one line
i come in next line
    i come after a tab space

上記のテキストをこのように変換できますか?

i am one line\ni come in next line\n\ti come after a tab space

ベストアンサー1

nあなたの質問について私が理解したように、改行文字をリテラルシーケンスバックスラッシュに変換し、その後にタブとタブ文字をリテラルシーケンスバックスラッシュに変換したいと思いますt

タブの交換はもちろん問題ありません。通常の文字列の置換と同じです。この試み:

:%s/\t/\\t/

\t注:検索パターンのエスケープシーケンスなどのエスケープシーケンスを認識する可能Vimでのみ動作します。わかりません。現在の場所で機能しない場合は、viその場所に実際のタブ文字を入力する必要があります。このタブは次のように表示されます(^I同じではありません)。^I

:%s/^I/\\t/

改行の場合でも同じことを試してみてください。

:%s/\n/\\n/

また、可能Vimだけ、よくわかりません。これは本質的に行ベースのエディタであるviため、改行文字を変更するのに運がないかもしれません。vi

おすすめ記事