^ Cまたは^ Bとして表示される印刷できない文字を含むファイルがあります。それらの文字を検索して置き換えたいのですが、どうすればよいですか?
^ CをCに置き換えたいとします。
:%s/CtrlVC/C/g
どこ CtrlVC 押しながらVを押してからCを押すことを意味します Ctrl 押された。
CtrlV 制御文字を入力できます。
制御記号のみを削除:
:%s/[[:cntrl:]]//g
印刷不可能な文字の削除(〜8.1.1より前のバージョンでは、これにより非ASCII文字も削除されることに注意してください):
:%s/[^[:print:]]//g
これらの違いは、印刷できない非制御文字がある場合に見られます。 ゼロ幅スペース :
Vimでファイルを保存した後、これを試してください(Linux環境にいると想定)
:%!tr -cd '[:print:]\n'
Vimの制御文字を使用したここでの答えはどれも私にとってはうまくいきませんでした。 Unicodeの範囲を入力する必要がありました。
:%s/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x9F]//g
そのユニコードの範囲はこの他の投稿で見つかりました: https://stackoverflow.com/a/8171868/231914
以下を使用できます。
:%s/^C//g
^C
を取得するには、Ctrlキーを押しながらV
を押してからC
(どちらもControlキーを押したまま)を押すと、^C
が表示されます。これにより、すべての出現箇所が検出され、何も置換されません。
^C
と^B
の両方を削除するには、次のようにします。
:%s/^C\|^B//g