Ich weiss
di<
wird in einem HTML-Tag selbst gelöscht.
Gibt es eine einfache Möglichkeit, Text zwischen zwei Tags zu löschen?
<span>How can I delete this text?</span>
Vielen Dank!
Ich weiss
di<
wird in einem HTML-Tag selbst gelöscht.
Gibt es eine einfache Möglichkeit, Text zwischen zwei Tags zu löschen?
<span>How can I delete this text?</span>
Vielen Dank!
dit
löscht den Text zwischen übereinstimmenden XML-Tags. (it
steht für “innerer Tag-Block”.)
Sehen :h it
und :h tag-blocks
.
Und natürlich, cit
wenn Sie direkt danach schreiben möchten.
– Debilsky
29. Januar 2010 um 1:18 Uhr
Und das Surround-Plugin (vim.org/scripts/script.php?script_id=1697) ist großartig, wenn Sie beispielsweise das umgebende Tag (cst) von einem
in ein
– Kris Jenkins
21. November 2010 um 12:45 Uhr
Es gibt auch dat (Delete A Tag Block), der die eigentlichen Tags enthält. cit, das wie dit ist, aber danach in den Einfügemodus wechselt. cat, die wie dat ist, aber danach in den Einfügemodus wechselt. Auch di” und di( zum Löschen innerer doppelter Anführungszeichen bzw. zum Löschen innerer Klammern.
– aiham
22. Juni 2012 um 0:05 Uhr
@KrisJenkins kannst du ein vollständiges Beispiel zeigen, wie man das erreicht? Ich kann das nur mit Anführungszeichen / Klammern tun.
– FelikZ
20. März 2015 um 9:01 Uhr
Ebenfalls vat
(oder vit
), gefolgt von wiederholt at
(oder it
) um nach und nach umgebende Tags auszuwählen . (Oder v2at
, etc). Dann d
löschen (usw.).
– Joe Freemann
16. Februar 2017 um 17:09 Uhr
cit
ci"
Zwei der besten produktivitätsfördernden Befehle von vim.
Ich spare viel Zeit und Mühe mit nur diesen beiden.
cit
wird in diesem Thread behandelt, aber für die Nachwelt, ci"
wird bis zum nächsten gelöscht "
gefunden. großartig zum Ändern von Klassennamen in HTML-Tags, wie z <span id="really long annoying-id">
— zuerst mit Cursor "
Schlag ci"
und in das Einfügen neuer Zeichen zwischen den Anführungszeichen fallen gelassen werden.
– Alex Moore-Niemi
26. April 2015 um 16:49 Uhr
ciw
ist auch nützlich, da es das aktuelle Wort löscht; Ich benutze es mehr als cit
und ci"
eigentlich.
– Johannes Sparwasser
30. Juni 2016 um 17:39 Uhr
@AlexMoore-Niemi: ci"
löscht tatsächlich den Text nach links bis zum nächsten Zitat und nach rechts bis zum nächsten Zitat und wechselt dann in den Einfügemodus. ct"
Eigentlich ist der Befehl zum „Löschen bis zum nächsten“ gefunden worden, aber ja, es verhält sich genauso, wenn der Cursor unter dem linken Anführungszeichen steht.
– Schlimmchen
15. August 2017 um 14:36 Uhr
JD Frias
Versuchen dt< während sich der Cursor auf dem ersten zu löschenden Zeichen befindet. In Ihrem Beispiel das ‘H’.
Auch sehr nützlich für andere Situationen, danke! (dachte ich denke es sollte “dt<" sein)
– CMB
3. Juni 2009 um 18:21 Uhr
Dies ist zwar technisch richtig, erfordert jedoch, dass Sie zum ersten Zeichen navigieren, das Sie löschen möchten, anstatt einfach irgendwo in die Zeile zu springen. Aber wahr ist wahr. 🙂
– Lyonsinbeta
19. Juli 2012 um 18:04 Uhr
Kes
dit – inneres Tag löschen, bleibt im Befehlsmodus
cit – inneres Tag ändern, wechselt in den Bearbeitungsmodus
di” – innerhalb von “” löschen
di’ – innerhalb von ” löschen
di( – innerhalb löschen ()
di) – innerhalb löschen ()
di[ – delete inside []
di]- innen löschen []
di{ -innerhalb {} löschen
di} – innerhalb von {} löschen
di< - innerhalb von <> löschen
di> – usw
ersten Buchstaben vertauschen d
zum c
wenn Sie nach Eingabe des Befehls im Bearbeitungsmodus sein möchten
(Cursor auf erstes zu löschendes Zeichen)
v/<[enter]d
Diese Lösung beginnt mit dem ersten Zeichen und wechselt dann in den visuellen Modus (“v”). Es sucht dann nach der nächsten Startklammer (“/<") und drückt dann die Eingabetaste, um die Suche zu beenden.
An diesem Punkt deckt Ihre visuelle Auswahl den zu löschenden Text ab. drücken Sie d (“d”), um es zu löschen.
Wenn ich dies für eine Reihe von Tags tun müsste, würde ich den Befehl aufzeichnen und ihn mit einigen anderen Suchen kombinieren, um ihn wiederholbar zu machen. Die Tastenfolge könnte so aussehen:
[cursor on start of file]
qa/>[enter]lv/<[enter]dnq
dann drücken:
um dies für 20 Tags zu tun
Früher habe ich den Befehl like verwendet c/<[enter]
viel in meinem “Vim-Leben”, aber jetzt bereue ich das ein bisschen. Wie Sie sehen, unterstützen die meisten “Vi-mode”-Plugins für beliebte andere Editoren/IDEs diesen speziellen Befehlstyp nicht. Sie unterstützen cit
, ci"
, ct<
und doch. Also unterrichte ich wieder.
– pilat
5. Januar 2017 um 19:10 Uhr
Nick Sarafa
Wenn Sie darauf abzielen, Text zwischen Flags zu löschen, empfehle ich die Installation Vim-Surround und läuft dst
wodurch das Surround-Tag gelöscht wird
Früher habe ich den Befehl like verwendet c/<[enter]
viel in meinem “Vim-Leben”, aber jetzt bereue ich das ein bisschen. Wie Sie sehen, unterstützen die meisten “Vi-mode”-Plugins für beliebte andere Editoren/IDEs diesen speziellen Befehlstyp nicht. Sie unterstützen cit
, ci"
, ct<
und doch. Also unterrichte ich wieder.
– pilat
5. Januar 2017 um 19:10 Uhr