Wie wähle / lösche ich bis zum Ende der Datei in vim / gvim?


41

Aus Versehen konnte ich einen Absatz millionenfach kopieren und einfügen. Wie wähle und lösche ich den Text von meiner aktuellen Position bis zum Ende der Datei?

In Windows wäre dies Strg-Umschalt-Ende, gefolgt von Löschen.


Vim hat rückgängig gemacht. Drücken Sie u.
Kusalananda

Antworten:


49
VGx

Wechseln Sie in den visuellen Modus, gehen Sie zu Dateiende, löschen Sie.

Alternativ können Sie Folgendes tun:

Vggx

Zum Löschen von der aktuellen Position zum Dateianfang.


1
Ugh, ich werde mich nie an all diese vim Abkürzungen erinnern. Die Windows-Verknüpfungen sind viel intuitiver.
Ripper234

Persönlich finde ich vim intuitiver. V, gehen Sie in den visuellen Modus G, fast wie "go", bis zum Ende der Datei. Und x, entferne.
Mark Szymanski

10
@ ripper234: Versuche dich nicht an "Schnipsel" zu erinnern, um bestimmte Aufgaben zu erledigen. Konzentriere dich auf die Unterbefehle. Das ist ein Teil der Magie von vim: Verwenden Sie diese kleineren Befehle, um größere, komplexere Dinge aufzubauen. Es ist fast unendlich flexibel.
Reid

Und es hilft wirklich eine Menge , die Zeit zu nehmen und die damit verbundenen vim-Hilfe-Abschnitte mit durchlesen: h Kommando-you-need-Hilfe-für
Gjallar

1
Um dies hinzuzufügen: vimtutorrufe von der Kommandozeile aus auf, um dich mit ihnen vertraut zu machen @ ripper234
Bernhard

48

dwird gelöscht und Gan das Ende der Datei verschoben, dGwird also an das Ende der Datei gelöscht. Es enthält jedoch die gesamte aktuelle Zeile. Wenn Sie in der Mittellinie sind und alles vor der aktuellen Position beibehalten möchten, müssen Sie Marks Methode anwenden


1 Der andere Weg , Teil der aktuellen Zeile zu erhalten ist D<enter>dG: Dzu EOL, löschen <enter>zur nächsten Zeile zu bewegen, dGum EOF zu löschen.
Jim L.

8

Noch eine andere Methode: :.,$d

Das heißt, im Ex-Modus die aktuelle Zeile bis zum Ende ansprechen und löschen.


7

Sie können auch einfach eingeben u, um die Änderungen rückgängig zu machen, die zum fehlerhaften Kopieren und Einfügen geführt haben.


nicht immer möglich, siehe "auswählen". Stellen Sie sich vor, Sie haben Code am Ende der Datei geschrieben (und möchten ihn an einer anderen Stelle haben). DG ermöglicht Ihnen das Einfügen mit p | P
relascope

2
vGx

Funktioniert gut für die Auswahl mehrerer Zeilen (in diesem Fall Absatz), aber wenn Sie innerhalb einer einzelnen Zeile auswählen möchten, wirkt dies auf mysteriöse Weise (Auswahl vom Cursor bis zum Zeilenanfang).

Bei Auswahl innerhalb einer Zeile müssen Sie Folgendes verwenden:

v$x

Dieser wechselt in den visuellen Modus ("v") und geht zum Zeilenende ("$") und löscht ("x") von der aktuellen Position bis zum Zeilenende.


0

Vggx hat bei mir nicht funktioniert, vG $ d jedoch. vG $ wählt EOF (letztes Zeichen der letzten Zeile) und dann den Befehl, den Sie ausführen möchten.

= Dieser Ansatz (Befehl nach Auswahl) scheint besser zu funktionieren. Natürlich verwende ich Vim 8.1 unter Windows 10 und ein paar Jahre später.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.