Zeile in vi löschen

168

Wie kann ich eine Zeile in VI löschen?

Hier was ich gerade mache:

  1. Öffnen Sie das Terminal alt+ ctrl+t
  2. vi a.txt
  3. Ich bewege den Cursor auf die Zeile, die ich löschen möchte. Welche Tastenkombination sollte dann zum Löschen der Zeile im vi-Editor verwendet werden ?
IM-JM
quelle
5
Ich schlage vor, Sie lesen washington.edu/computing/unix/vi.html , um eine grundlegende Übersicht über die Verwendung zu erhalten. Hier ist ein Cheatsheet: tuxfiles.org/linuxhelp/vimcheat.html Es ist immer eine gute Idee, sich solche Seiten anzuschauen, bevor Sie triviale Fragen stellen ...
polemon
2
Es gibt auch S zum Löschen einer Zeile und Eingeben von Einfügen
Ben Creasy

Antworten:

289

Durch Drücken von ddwird diese Linie entfernt (tatsächlich wird sie abgeschnitten). Sie können es also über einfügen p.

Gert
quelle
22

Wie bereits erwähnt, sollten ddSie im normalen Modus (drücken Sie ESC), um sicherzustellen, dass Sie sich im normalen Modus befinden. Standardmäßig ist dies jedoch der Fall. Möglicherweise haben Sie festgestellt, dass vi nicht so funktioniert, wie Sie es von einem Editor erwarten würden. Es ist ziemlich einzigartig und diese einzigartigen Funktionen machen es extrem leistungsfähig und schnell zu arbeiten. Wenn Sie mehr darüber erfahren möchten, können Sie vimtutordie Befehlszeile verwenden und erhalten ein kurzes Tutorial (vielleicht eine Stunde Lesen / Experimentieren) mit den Grundlagen der Verwendung.

Jetzt können Sie einen Editor mit einer vertrauteren Oberfläche verwenden. Die meisten Systeme haben nano. Sie können eingeben nano a.txt, um Ihre Datei zu öffnen nano. Sie können sogar noch einen Schritt weiter gehen - es gibt keinen Grund, warum Sie einen terminalbasierten Editor verwenden müssen. Da Sie die Verwendung von ( Ctrl+ Alt++ T) erwähnt haben und dies die Standardverknüpfung in Ubuntu und einigen anderen Gnome-Distributionen ist, wäre ich überrascht, wenn Sie diese nicht geditinstalliert hätten. Versuchen gedit a.txtSie an der Befehlszeile, und Sie erhalten einen grafischen Editor.

Shawn J. Goff
quelle
Ein paar Leute brauchen es. Wenn Sie regelmäßig Textdateien bearbeiten, lohnt es sich, vim zu lernen. Wenn Sie dies nicht tun und nur versuchen, einige Anweisungen zu befolgen, um etwas zum Laufen zu bringen, lohnt es sich wahrscheinlich nicht, es sei denn, Sie möchten einfach eine andere Software ausprobieren und neue Dinge lernen.
Shawn J. Goff
Ich habe vimtutor über die Kommandozeile gefeuert, und es hat ein vim mit einem Temp geöffnet. Datei. Habe ich einen Fehler gemacht?
IM-JM
@ im-jm Ich glaube nicht, dass Sie einen Fehler gemacht haben, aber Ihr System hat möglicherweise eine ungewöhnliche Konfiguration. Es sollte ein Dokument geöffnet werden, das mit "Willkommen beim VIM-Tutor" beginnt. Wenn Sie daran interessiert sind, sollten Sie eine weitere Frage stellen.
Shawn J. Goff
12

Mit löschen Sie die Zeile unter dem Cursor dd.

Der Befehl delete akzeptiert alle normalen Positionsmodifikatoren. Wenn Sie sich also am Anfang der Zeile unterhalb der zu löschenden befinden, können Sie einfach dkin den Löschmodus wechseln und eine Zeile nach oben gehen und alles löschen, was der Cursor passiert hat.

Sie können auch die Wiederholung angeben. Dadurch 5ddwird die Zeile unter dem Cursor fünfmal gelöscht, und die aktuellen und folgenden vier Zeilen werden effektiv gelöscht.

Caleb
quelle
8
Oder d5d. Ich weiß nicht warum, aber ich bevorzuge dies. ( NdMd
Unterhaltsame
7

Esc dd Nachdem Sie zu der Zeile gegangen sind, die Sie löschen möchten

Anoop
quelle
2
Die Escape-Taste ist nicht erforderlich, wenn Sie zu der Zeile wechseln können, die Sie löschen möchten.
Anthon
3
Escape ist erforderlich, wenn Sie im Einfügemodus die Pfeiltasten verwenden, um zur rechten Zeile zu gelangen.
Alexander
1

Im visuellen Modus

Shift + V, wähle die Linien und dann d

Strg + v, wählen Sie die Spalten und dann d

Ben
quelle