Vim zeigen newline am Ende der Datei
Mithilfe der set eol
option Vim fügt automatisch einen Zeilenumbruch am Ende der Datei, wenn es gespeichert wurde. Ich habe diese option aber ich möchte in der Lage sein, dies zu sehen Zeilenumbruch im Editor Vim, so weiß ich, dass es wirklich da ist.
Beispielsweise mit einer Datei im Vim:
Und die gleiche Datei in TextMate:
Diese immer tricks mich und ich am Ende hinzufügen eines zweiten neuen Zeile und am Ende merken später. Dies genau die gleiche Frage gepostet wurde hier aber die Antwort, dass angenommen wurde, haben keine Antwort auf diesen Teil der Frage.
Mit set list
:
Ich kann sehen, es ist ein $
Charakter und bezeichnet eine neue Zeile nach der letzten Zeile, aber auch die Würfe der rest der Datei mit diesen. Ich weiß, könnte ich einen toggle für diese, aber ich würde wirklich lieber die TextMate wie Verhalten.
- Die tidle(
~
) bedeutet, dass keine neue Zeile. Ist das nicht genug? - Ich will sehen, dass es eine neue Zeile am Ende. Die gibt es in den screenshots, auch wenn es eine tilde auf der gleichen Linie, so dass das nicht viel Sinn?
- Ich selbst würde finden, sehen
$
sehr verwirrend, also ich würde nicht die Mühe mit, dass:) Sehen, wenn andere Jungs hat eine gute Antwort für Sie. - Ja ich mag nicht, dass entweder.
- die tilde (
~
) bedeutet nicht, dass keine neue Zeile. Wenn es ein newline am Ende der letzten Zeile, würde es immer noch zeigen eine tilde auf der nächsten Zeile. (Wie im ersten Bild)
Du musst angemeldet sein, um einen Kommentar abzugeben.
'endofline'
ist standardmäßig aktiviert, so brauchen Sie nicht es in Ihrem~/.vimrc
.EOL oder "newline" bedeutet nicht "es gibt eine leere Zeile nach hier", es bedeutet "dies markiert das Ende der Zeile keine weiteren Zeichen angezeigt werden, die auf einer anderen Linie". "newline" != "neue Zeile".
Die Letzte Zeile der Datei ist #21 und es endet mit einem "newline" - Zeichen. Da es keine aktuelle Zeile nach "newline" - Zeichen, keine Linie #22, mit der Linie #22 ist nicht nur falsch, sondern irreführend.
TextMate Verhalten falsch ist.
Vim ist das Verhalten korrekt.
Wenn Sie wollen Vim, um zu zeigen, eine Linie #22, Sie müssen diese explizit hinzufügen, dass die Linie, aber es klingt ziemlich albern, mir.
[noeol]
Zeichen in der unteren status-Zeile (die ist viel zu schwer zu bemerken). Dinge, die schlimmer mit der Tatsache, dass fast alle GUI-text-Editoren Win/Mac annehmen die andere Möglichkeit: Behandlung von newline-line als separator anstatt line terminator, so dass das visuelle Erscheinungsbild rund um das Ende der Datei direkt erzählt Nutzer, die Existenz (oder nicht-Existenz) eines eol.[noeol]
Zeichen wird nur dort sein, gleich nach dem Sie die Datei öffnen. Es verschwindet, sobald Sie eine nicht-triviale operation.i
>enter
>esc
>:wq
>vim test
> Zeile 2 ist Weg!!! Ich manuell drücken der enter-Taste mit meinen Fingern und typisiert, so dass ich erwarte, dass er bleibt da, als ich tippte es mit Absicht, doch es verschwindet! Vim ist falsch.:wq
, die Seitenleiste zeigt1 2
nach es, die Seitenleiste zeigt1
. Sind Sie versuchen, mir zu sagen, dass diese gleich sind?Ga
ich fast immer wollen Sie eine neue Zeile hinzufügen, nicht anfügen an die Letzte Zeile. Wenn ich nur drückenEnter
einmal und sparen, ich will nicht zwei Zeilenumbrüche Hinzugefügt. Und Vim offensichtlich nicht die Fähigkeit haben, zu zeigen, eine Linie, die ist nicht wirklich da. Es tut dies jedes mal, wenn Sie starten Sie die Bearbeitung einer neuen Datei. Speichern Sie die leere Datei, und es ist leer. Hinzufügen und löschen - ein Charakter, vor dem speichern, und es wird ein Zeilenumbruch. Fügen Sie einen Charakter und rückgängig vor dem speichern, dann gibt es keinen Zeilenumbruch. Wonky.Ga
ist der "Sprung zur letzten Zeile und anfügen nach dem cursor" also gibt es keinen Grund zu verwenden Sie den Befehl "springe zur letzten Zeile und fügen Sie eine neue Zeile". Verwenden SieGo
für, die.