WindowsでgVimを使用しています。私のコード^M
では、行末に文字が表示されます。私:set ff=dos
は役に立たなかった。文字は既存の^M
行に残りますが、入力した改行には表示されません。モードを mac (^J
文字を表示) と unix (^M
文字も表示) に切り替え、dos に戻しました。他の誰かがこれを見たことがありますか?
10 に答える
私は通常、次を使用して行末をクリーンアップします。
:g/^M$/s///
ctrl-M を取得するには、通常、ctrl-Q を入力してから ctrl-M を入力します。(環境によっては、ctrl-V の後に ctrl-M を入力する場合があります) 理由はわかりませんが、rqよりも覚えやすいもの。
同様に行うことを忘れないでください。そうしない:set ff=dos
と、UNIX の行末のままで保存してしまうことになります。
これはすでに回答されていることは知っていますが、私が使用するトリックは
:%s/\r/\r/g
これにより、UNIX のキャリッジ リターンが Windows の CRLF に置き換えられます。他の誰かが問題を抱えた場合に備えて追加しました。
これらの文字は無視できます。
これをあなたのvimrcに入れてください
一致 無視 /\r$/
Windows 7 で Vim 7.3 を実行しています。次のコマンドを使用しました。
:%s/^M/\r/g
^MI を作成するには、CTRL+Q、次に CTRL+M で入力します。
実際に私にとってうまくいったのは(64ビットWindowsでは gVIM: 7.2 )でした:
:set ffs=dos
だけでなく: ff
これはおそらく多くの人にとっては少し簡単ですが、偶然にも便利です。
richqの回答に基づいて、これらは私のvimrcで役立つことがわかりました。2番目のものは通常コメントアウトされています。これは、マップされたexコマンドの場合、Vimが別のキーストロークが機能するのを待つため、ddが少し混乱するためです。
働き!D2u() '%s / \ r \(\ n \)/ \ 1/g'を実行します エンドファンクション "マップd2u:%s / \ r \(\ n \)/ \ 1 / g
call D2u()
1つ目はexと入力して実行し、2つ目D2u
は編集モードでを押して実行します。