Hoe kan ik in Vim alles tussen aanhalingstekens verwijderen, inclusief de aanhalingstekens?

Bijvoorbeeld in het volgende:

Testing "deleting" within quotes

Hoe kan ik, met de cursor in het verwijderen, de tekst tussen de aanhalingstekens verwijderen en de aanhalingstekens opnemen, waarbij het volgende overblijft:

Testing within quotes

Antwoord 1, autoriteit 100%

U kunt de volgende volgorde gebruiken:

da"

Houd er rekening mee dat dit alleen werkt op een enkele regel en dat eventuele spaties na het laatste aanhalingsteken worden verwijderd.

Bewerken

Zoals @James in de onderstaande opmerkingen aangeeft, kunt u ook de reeks di"(delete inside) gebruiken om de tekens tussen de aanhalingstekens te verwijderen zonder de aanhalingstekens.

Je kunt dit ook gebruiken met ci"(binnenkant wijzigen) om de tekens te verwijderen en over te schakelen naar de invoegmodus, zodat je gemakkelijk tekst tussen aanhalingstekens kunt vervangen.

p>


Antwoord 2, autoriteit 35%

We kunnen gebruiken

da"

voor jouw geval
of di"om ALLEEN de inhoud van “.

. te verwijderen

Het is beter om met tekstobjecten te beginnen. Schrijven als antwoord voor de volledigheid.
Uittreksel uit :h text-objects, hieronder gegeven, suggereert twee vormen ien a

Dit is een reeks opdrachten die alleen kunnen worden gebruikt in de visuele modus of
na een bediener. De commando’s die beginnen met “a” selecteren “a”n object
inclusief witruimte, de commando’s die beginnen met “i” selecteren een “innerlijk” object
zonder witruimte, of alleen de witruimte. Dus de “innerlijke” commando’s selecteren altijd minder tekst dan de “a” commando’s.

tekstobjecten zijn handig voor andere tekenparen zoals (), {}, etc. Het is bijvoorbeeld handig tijdens het veranderen

if ( i == true ) {
}

naar

if (_) {
}

door ci(of ci)te gebruiken.


Antwoord 3, autoriteit 2%

Houd uw cursor tussen de eerste aanhalingstekens en druk op d, typ vervolgens /”/e
Het zou de inhoud tussen zowel dubbele aanhalingstekens als aanhalingstekens moeten verwijderen.
Dit geldt ook voor meerdere lijnen.

Een andere manier:
Houd de cursor tussen de eerste aanhalingstekens en typ df”
Het zal ook de tekst tussen aanhalingstekens en aanhalingstekens verwijderen! Niet van toepassing op meerdere lijnen.

Op beide manieren voer je commando’s uit in de normale modus.

Other episodes