web-dev-qa-db-ja.com

vimに^ Mを表示させ、それを置き換える方法

私のvimはタブを--->として表示しますが、ウィンドウ^ M文字を表示しません。

そして、vimでそれをどのように置き換えるか。

更新============

私はvimrcをチェックし、fileformat = unixに設定されていますが、DOSファイルセットを開くとffはdosです

43
guilin 桂林

Vimは、1つの場合を除いて^ Mを表示します。fileformat = dosの場合、末尾のcrlfは表示されません。

:setと入力することで、どのフォーマット(unixまたはdos)を見つけることができ、フォーマット(:set fileformat=unix)を変更してファイルを書き出すだけでcrlfの^ Mを取り除くことができます。

行の途中に^ Mがある場合は、fileformat=dosファイル内でも^ Mを見ることができ、\rとパターンマッチできます。 (奇妙なことに、改行を置換するための構文は、サブルーチンの置換部分の\rであるため、^ Mから^ Nに変更する方法は、not-at-all-a-noop :s/\r/\r/です。)

62
DigitalRoss

CRLFを^ Mとして表示します。

:e ++ ff = unix

LFの代わりにCRLF:

:setlocal ff = unix
:w
:e

68
NoToR

vimはファイル形式を自動検出し、一致するようにモードを切り替えています(set ff

特定のモードで強制的に開きたい場合は、+ff=unix(^ Mを表示する)または+ff=dosをコマンドラインに入力して、そのモードで開きます。 Windowsボックスを使用している場合は、:e ++ff=unixファイルを開いた後。

これらの文字を削除する場合は、1つのモードで開き、ffを目的の値に設定してから、ファイルを保存します。チェックアウト :h ff 詳細については。

7
jkerian

リスト機能を有効にすると、すべての端末改行とキャリッジリターンを表示できます::set list

ouを使用して、文字どおりにmatchおよびsubstitutionコマンドに入力できます ^V:例すべての^MsをCRにすると、次のことができます::%s/^V^M/CR/g(リテラルを入力 ^V リテラルが続きます ^M)。

4
Ether