81

WindowsでgVimを使用しています。私のコード^Mでは、行末に文字が表示されます。私:set ff=dosは役に立たなかった。文字は既存の^M行に残りますが、入力した改行には表示されません。モードを mac (^J文字を表示) と unix (^M文字も表示) に切り替え、dos に戻しました。他の誰かがこれを見たことがありますか?

4

10 に答える 10

43

次を実行することもできます。

:e ++ff=dos

を削除するには^M: File format – Vim Tips Wikiを参照してください。

于 2011-07-26T14:37:57.343 に答える
19

私は通常、次を使用して行末をクリーンアップします。

:g/^M$/s///

ctrl-M を取得するには、通常、ctrl-Q を入力してから ctrl-M を入力します。(環境によっては、ctrl-V の後に ctrl-M を入力する場合があります) 理由はわかりませんが、rqよりも覚えやすいもの。

同様に行うことを忘れないでください。そうしない:set ff=dosと、UNIX の行末のままで保存してしまうことになります。

于 2009-04-29T00:00:28.070 に答える
15

これはすでに回答されていることは知っていますが、私が使用するトリックは

:%s/\r/\r/g

これにより、UNIX のキャリッジ リターンが Windows の CRLF に置き換えられます。他の誰かが問題を抱えた場合に備えて追加しました。

于 2010-05-28T19:22:27.057 に答える
6

これらの文字は無視できます。

これをあなたのvimrcに入れてください

一致 無視 /\r$/

于 2013-03-24T11:10:09.433 に答える
4

Windows 7 で Vim 7.3 を実行しています。次のコマンドを使用しました。

:%s/^M/\r/g

^MI を作成するには、CTRL+Q、次に CTRL+M で入力します。

于 2011-05-31T16:56:12.543 に答える
4

実際に私にとってうまくいったのは(64ビットWindowsでは gVIM: 7.2 )でした:

:set ffs=dos

だけでなく: ff

于 2010-12-02T15:58:29.870 に答える
2

これはおそらく多くの人にとっては少し簡単ですが、偶然にも便利です。

richqの回答に基づいて、これらは私のvimrcで役立つことがわかりました。2番目のものは通常コメントアウトされています。これは、マップされたexコマンドの場合、Vimが別のキーストロークが機能するのを待つため、ddが少し混乱するためです。

働き!D2u()
    '%s / \ r \(\ n \)/ \ 1/g'を実行します
エンドファンクション
"マップd2u:%s / \ r \(\ n \)/ \ 1 / g

call D2u()1つ目はexと入力して実行し、2つ目D2uは編集モードでを押して実行します。

于 2013-01-18T14:20:11.203 に答える