Alle instanties van een variabele selecteren en de naam van een variabele bewerken in Sublime

Als ik een variabele(niet zomaar een string) in mijn code selecteer, krijgen alle andere instanties van die variabele een streep (witte omtrek) eromheen:

Is er een sneltoets waarmee ik al die instanties van de variabele kan selecteren en ze allemaal tegelijk kan bewerken?


Dingen die ik heb geprobeerd:

D, Ken U laat me ze één voor één selecteren, maar ik moet de niet-variabele tekenreeksovereenkomsten handmatig uitsluiten:

En met CtrlGselecteert u eenvoudig allede string komt overeen:

Het is duidelijk dat Sublime onderscheid kan maken tussen variabele en tekenreeksovereenkomsten. Is er geen manier om alleen de variabele overeenkomsten te selecteren?


Antwoord 1, autoriteit 100%

  1. Plaats de cursor in de variabele.

    Opmerking:de sleutel is om te beginnen met een lege selectie. Markeer niet; gewoon zetje cursor daar.

  1. Druk zo nodig op D. Niet op een Mac? Gebruik CtrlD.

Niet gelukt? Probeer het opnieuw en zorg ervoor dat u begint met niets geselecteerd.

Meer opdrachten:

Alles zoeken:CtrlGselecteert alle gebeurtenissen tegelijk. Niet op een Mac? AltF3

Selectie ongedaan maken:Ustapt achteruit. Niet op een Mac? CtrlU

Quick Skip Next:KDslaat de volgende keer over . Niet op een Mac? CtrlKCtrlD

Sublieme documenten


Antwoord 2, autoriteit 22%

Ik weet dat de vraag over Macs gaat, maar ik ben hier op zoek naar het antwoord voor Ubuntu, dus ik denk dat mijn antwoord nuttig kan zijn voor iemand.

Eenvoudige manier om het te doen: AltF3.


Antwoord 3, autoriteit 8%

Ondanks veel moeite heb ik geen ingebouwde of plug-in-ondersteunde manier gevonden om te doen wat je probeert te doen. Ik ben het er volledig mee eens dat het moetmogelijk zijn, aangezien het programma fookan onderscheiden van buffoonwanneer je het voor het eerst markeert, maar niemand lijkt het te weten een manier om het te doen.


Hier zijn echter enkele handige toetscombinaties voor het selecteren van woorden in Sublime Text 2:

CtrlG– selecteert alle exemplaren van het huidige woord (AltF3op Windows/Linux)

D- selecteert de volgende instantie van het huidige woord (CtrlD)

  • K,D- slaat de huidige instantie over en gaat verder met het selecteren van de volgende ( CtrlK,CtrlD)
  • U- "zacht ongedaan maken", gaat terug naar de vorige selectie (CtrlU)

E, H- gebruikt de huidige selectie als het veld "Zoeken" in Zoeken en Vervang (CtrlE,CtrlH)


Antwoord 4, autoriteit 3%

Ditwerkte voor mij. Zet je cursor aan het begin van het woord dat je wilt vervangen, dan

CtrlK, CtrlD, CtrlD< /kbd>...

Je moet zoveel instanties van het woord selecteren als je wilt, dan kun je gewoon de vervanging typen.


Antwoord 5, autoriteit 2%

De magie is dat je moet beginnen met een lege selectie, dus plaats je cursor voor het woord/teken dat je wilt multi-selecteren en druk op Ctrl+D.


Antwoord 6, autoriteit 2%

Voor mij is dit de grootste fout in Sublime. Alt+F3is moeilijk te bereiken/onthouden, en Ctrl+Shift+Gheeft geen zin aangezien Ctrl+D"volgende instantie aan selectie toevoegen" is.

Voeg dit toe aan uw Gebruikerssleutelbindingen(Voorkeuren > Sleutelbindingen ):

{ "keys": ["ctrl+shift+d"], "command": "find_all_under" },

Je kunt nu iets markeren, druk op Ctrl+Shift+D, en het zal elke andere instantie in het bestand aan de selectie toevoegen .


Antwoord 7

Zoals gebruiker 1767754 al zei, is de sleutel hier om in eerste instantie geen selectie te maken.

Plaats de cursor gewoon in de naam van de variabele, dubbelklik niet om deze te selecteren. Voor variabelen met één teken plaatst u de cursor aan de voorkant of het einde van de variabele om in eerste instantie geen selectie te maken.

Blijf nu op Cmd+Ddrukken voor de volgende variabele selectie of Ctrl+Cmd+G om alle variabelen tegelijk te selecteren. Het zal op magische wijze alleen de variabelen selecteren.


Antwoord 8

Het is vermeld door @watsonicdat in Sublime Text 3 op macOS, te beginnen met een lege selectie, gewoon G(AltF3op Windows) doet het, in plaats van D+ Gin Sublieme Tekst 2.


Antwoord 9

Als je op dit moment, 17-10-2020, een tekstelement selecteert en op CTRL+SHIFT+ALT+M drukt, wordt elke instantie binnen het codeblok gemarkeerd.


Antwoord 10

Voor het geval iemand anders op deze vraag stuitte terwijl hij op zoek was naar een manier om een ​​string in meerdere bestanden te vervangen, het is Command+Shift+F< /kbd>

Other episodes