Ich verwende gVim unter Windows. Mein Code zeigt ^M
Zeichen am Zeilenende. Früher hatte ich :set ff=dos
keinen Erfolg. Die ^M
Zeichen bleiben für vorhandene Zeilen erhalten, werden jedoch nicht für von mir eingegebene Zeilen angezeigt. Ich habe den Modus auf Mac (zeigt ^J
Zeichen) und Unix (zeigt auch ^M
Zeichen) und zurück zu Dos umgestellt . Hat das noch jemand gesehen?
vim
carriage-return
line-endings
Jerph
quelle
quelle
Antworten:
Dies geschieht, wenn Sie eine Mischung aus Windows-Zeilenenden und Unix-Zeilenenden haben. Wenn Sie 100 Zeilen haben, 99 sind \ r \ n und eine ist \ n, sehen Sie 99 ^ M Zeichen. Die Lösung besteht darin, diese eine Zeile zu finden und zu ersetzen. Oder führen Sie dos2unix für die Datei aus. Sie können die Windows-Zeilenenden ersetzen durch:
:%s/\r\(\n\)/\1/g
quelle
:%s/^M//
:set ff=dos
wenn Sie möchten, dass es dos ist, wenn Sie fertig sind, ala Evans Antwort.Sie können auch ausführen:
So entfernen
^M
Sie Folgendes : Siehe Dateiformat - Vim Tips Wiki .quelle
Normalerweise verwende ich Folgendes, um meine Zeilenenden zu bereinigen:
Um Strg-M zu erhalten, tippe ich normalerweise Strg-Q, dann Strg-M und es wird eingefügt. (In einigen Umgebungen kann es Strg-V und dann Strg-M sein.) Ich weiß nicht warum, aber ich finde das eine, die leichter zu merken ist als die von rq .
Vergessen Sie nicht, dies auch zu tun,
:set ff=dos
da Sie sonst immer noch mit UNIX-Zeilenenden speichern.quelle
Ich weiß, dass dies bereits beantwortet wurde, aber ein Trick, den ich benutze, ist
Dies ersetzt die Unix-Wagenrückläufe durch die Windows-CRLF. Nur hinzugefügt, falls jemand anderes Probleme hatte.
quelle
Sie können diese Zeichen ignorieren!
lege dies in dein vimrc
quelle
Eigentlich funktionierte für mich (unter 64-Bit-Fenstern, gVIM: 7.2):
nicht nur: ff
quelle
Ausführen von Vim 7.3 unter Windows 7. Ich habe den folgenden Befehl verwendet:
Um den ^ MI zu erstellen, geben Sie STRG + Q und dann STRG + M ein.
quelle
Dies ist wahrscheinlich für viele von Ihnen ein bisschen einfach, aber auf den ersten Blick ist es nützlich.
Basierend auf der Antwort von richq fand ich diese in meinem vimrc nützlich. Beachten Sie, dass der zweite Befehl normalerweise auskommentiert wird, da er dd etwas verwirrend macht, da Vim auf einen weiteren Tastendruck wartet, wenn es sich um den zugeordneten ex-Befehl handelt.
Der erste wird durch Eingabe von
call D2u()
ex und der zweite durch DrückenD2u
im Bearbeitungsmodus ausgeführt.quelle
Dies sind zusätzliche CR-Zeilenenden, normalerweise aufgrund der Verwendung einer Datei auf gemischten UNIX / DOS-Systemen.
Möglicherweise ist die kürzeste Antwort, um ein einzelnes ^ M am Ende jeder Zeile zu entfernen, und was ich verwende ,:
was äquivalent ist zu:
Die Schrägstriche sind jedoch nicht erforderlich (sie werden angenommen).
quelle
habe viele Dinge ausprobiert, aber das Folgende hat funktioniert
Hinweis: Verwenden Sie g, wenn Sie den Effekt auf die gesamte Datei haben möchten
quelle