Vraag vi snelkoppeling om te verwijderen "tot het volgende X-teken"


Ik begrijp dat vi sneltoetsen heeft om tekens, woorden en lijnen met verschillende opties te verwijderen.

Ik kon dit echter niet vinden:

  • verwijderen van de cursor naar het volgende opgegeven teken

Ik typ bijvoorbeeld du" verwacht dat de editor "tot de volgende wordt verwijderd " karakter is gevonden "

Het dichtstbijzijnde dat ik weet is d9w waar 9 is het aantal te verwijderen woorden.

Weet iemand of dit mogelijk is?


153
2017-10-08 15:43


oorsprong


Als je geïnteresseerd bent in Vi en Vim, hebben ze nu hun eigen SE-site: Vi en Vim - dessert


antwoorden:


Gebruik dtc, waar c is elk karakter, b.v. voor jou, wil je dt"

Dit zal tot nu toe verwijderen niet inclusief c.

Als je had:

delete until exclamation point!

En de cursor stond op de eerste spatie en je hebt getypt dt!, zou je krijgen:

delete!

Ook dfc.

Hiermee wordt u verwijderd en inclusief c.

Gebruik makend van df! op hetzelfde voorbeeld hierboven zou u het volgende geven:

delete

Vrijwel elke "beweging" kan worden gebruikt voor de d, c, y en soortgelijke opdrachten.


248
2017-10-08 16:19



Precies wat ik zocht! Bedankt @Arcege! - kctang
Waarschijnlijk is het ezelsbruggetje t voor "tot"? Goed antwoord. - overthink
U kunt ook verwijderen naar het vorige exemplaar van een teken met de hoofdversie van de verplaatsingscommando's. Misschien nuttiger voor komma's - dT, en dF,. - Joel Ostblom
Dit werkt niet over meerdere regels. - 0xcaff
Kan dit over een reeks lijnen worden gedaan? - Jim


  • Om door te sturen naar het karakter 'X'-type DTX

  • Om het voorwaartse teken 'X' te verwijderen DFX

  • Om een ​​backward up to character 'X' type te verwijderen DTX

  • Om achterwaarts door teken 'X'-type te verwijderen DFX


38
2018-06-02 18:02





De invoer dt # (geen a: commando, gebruik het als een beweging zoals G)

zal van de cursor verwijderen tot maar niet met #. Je kunt elk teken voor # vervangen.


29
2018-06-21 02:44



Dit is het juiste antwoord! df # zal ook # verwijderen. - Viet
hiernaar op zoek geweest, dit is geweldig - Nadeem Khedr


Het lijkt erop dat @Arcege de vraag al heeft beantwoord, maar dat deed ik d/l om te verwijderen tot het karakter l; andere personages zouden ook werken.


15
2017-10-09 11:42



Dit werkt voor dingen over nieuwe regels. - jasonszhao
Opmerking: dit moet worden gevolgd door Enter. - Eric Lebigot


w gaat naar het volgende woord. l gaat naar de volgende charactor.

Dus het is d9l om de volgende 9 tekens te verwijderen.


6
2017-07-10 19:48



Dichtbij, l is de rechterpijltoets van Vim, dus je verwijdert eigenlijk gelijk. Omgekeerd, d9h zou nog 9 tekens verwijderen. - Walf