So wählen Sie alle Instanzen der ausgewählten Region in Sublime Text aus


306

Gibt es eine Tastenkombination oder eine Menüoption in einem Schritt, um alle Instanzen einer hervorgehobenen Auswahl in Sublime Text zu finden und auszuwählen?


5
Ich dachte, dass dies auf den Punkt gebracht wurde, klar, vollständig und spezifisch. Es antwortete genau das, was ich wissen wollte. Danke für eine echte Frage. Haben Sie eine positive Bewertung ... :)
rtfminc

Antworten:


394

Unter Mac OS können Sie Folgendes verwenden: CMD+ CTRL+G


5
Ich kann mich nicht daran erinnern. Ein Vorschlag für eine gute Mnemotechnik? Wofür gkönnte stehen?
Andilabs

9
@andy - global?
Andrew

20
@andi get alle? :)
Alex

7
Es gibt Standard-OS X-Befehle für die Suche nach dem nächsten (⌘G) und die Suche nach dem vorherigen (⌘⇧G) im Menü Bearbeiten-> Suchen. Aber ich neige dazu, sie als nächsten und vorherigen zu betrachten, also ist es natürlich, dass G alles bekommt.
Andrew Hoos

44
@andi gotta select'em all?
Dang

288

Drücken Sie unter Windows / Linux Alt+ F3.


3
Ich möchte nur veröffentlichen, dass die gleichen Einstellungen verwendet werden, bei denen zwischen Groß- und Kleinschreibung unterschieden wird, wie beim Suchen oder Suchen und Ersetzen . Ich habe sowohl den Klassennamen als auch den Instanznamen ständig geändert. : \
Mathias

3
@Mathias Ich habe die Praxis der Verwendung von Klassen- und Instanznamen, die bis auf den Typfall identisch sind, nie verstanden. Ich habe immer das Gefühl, dass entweder der Klassenname zu spezifisch oder der Instanzname zu allgemein und nicht beschreibend genug ist.
coder543

Sie wissen, wie schwer das Benennen tatsächlich ist. Es mag wie eine leichte Aufgabe erscheinen, aber ich habe große Probleme mit guten Namen für Klassen und Instanzen. Ich denke, die "Instanz ist ein Klassenname in Kleinbuchstaben" - alles macht Sinn. Ich meine - es gibt Ihnen den Typ der Variablen auf den ersten Blick. Das einzig ärgerliche ist, wenn Sie mehrere haben TextField. Sie können textfieldnatürlich nicht alle nennen . Ich gebe also zu, dass es in einigen Fällen nicht spezifisch genug ist (wie TextFields), aber wenn Sie über Controller sprechen, denke ich, dass es vollkommen sinnvoll ist, z. B.articleController = new ArticleController()
Mathias

In gewisser Weise hängt es wirklich von der Situation ab, aber im Allgemeinen denke ich, dass der Klassenname bereits eine gute Beschreibung sein sollte und daher auch für die Instanz geeignet ist. ABER - offensichtlich ist dies eine Frage des Geschmacks, ähnlich wie: Tabs gegen Leerzeichen ... PS: Liebes Internet - Ich möchte hier keinen weiteren Tabs gegen Leerzeichen-Flammenkrieg starten ... :)
Mathias

Dies scheint für mich nicht zu funktionieren. Ich markiere einen Codeabschnitt, Strg + I, um mit der Suche zu beginnen, umrandet alle Suchbegriffe innerhalb des hervorgehobenen Bereichs und dann Alt + F3, wählt jedoch alle übereinstimmenden Begriffe in der Datei aus, anstatt nur die Region.
Joe

26

Drücken Sie unter Windows / Linux Alt+ F3.

Dies funktionierte für mich unter Ubuntu. Ich habe es in meinem "Key-Bindings: User" in etwas geändert, das mir besser gefallen hat.


8
Sie sollten die Standarddateien nicht bearbeiten, da sie bei einem Update überschrieben werden. Kopieren Sie stattdessen die Eigenschaft in Ihre Datei "Key Bindings - User" und bearbeiten Sie sie dort, z. B.{ "keys": ["ctrl+shift+g"], "command": "find_all_under" }
LouieGeetoo

14
Dies ist ein Duplikat einer vorhandenen Antwort und eignet sich besser als Kommentar.
dbn

1
@dbw - Ich stimme Ihnen zu, aber nach meinem besten Wissen gibt es keine SO-Regel, die bespricht, was mit doppelten Antworten zu tun ist.
ArtOfWarfare

2
@dbw - Es scheint, dass das Beste, was mit doppelten Antworten wie dieser zu tun ist, darin besteht, sie herunterzustimmen. Also -1 von mir. Sehen Sie dies auf Meta: meta.stackexchange.com/a/226562/228219
ArtOfWarfare

20

Hinweis: Sie sollten die Standardeinstellungen nicht bearbeiten, da sie bei Updates / Upgrades zurückgesetzt werden. Zur Anpassung sollten Sie alle Einstellungen mithilfe der Benutzerbindungen überschreiben.

Auf dem Mac:

  • Erhabener Text 2> Einstellungen> Tastenkombinationen - Standard
  • Erhabener Text 3> Einstellungen> Tastenkombinationen

Dadurch wird ein Dokument geöffnet, in dem Sie die Tastenkombinationen für Sublime bearbeiten können.

Wenn Sie suchen "ctrl+super+g", finden Sie dies:

{ "keys": ["ctrl+super+g"], "command": "find_all_under" },

Nehmen Sie jedoch keine Änderungen an defaultKonfigurationsdateien vor, da diese bei Updates und Upgrades ersetzt werden. Verwenden Sie userstattdessen Schlüsselbindungsdateien @ dcryan22
ilhnctn

@ilhnctn Richtig, du solltest diese nicht bearbeiten. Sie sollten sie in den userTastenkombinationen überschreiben . Ich habe gerade die defaultBindung gepostet , um zu zeigen, was die Tastenkombination war.
dcryan22

Vielen Dank, dass Sie @ilhnctn bemerkt haben. Ich habe meine Antwort aktualisiert.
dcryan22


12

In den anderen Beiträgen haben Sie die Tastenkombinationen. Wenn Sie jedoch die Menüoption in jedem System verwenden möchten, gehen Sie einfach zu Suchen> Schnellsuche alle , wie im beigefügten Bild gezeigt.

Überprüfen Sie auch die anderen Antworten auf Schlüsselbindung, um dies schneller als das Klicken auf ein Menü zu tun.

Erhabener Text 3


6

Obwohl es mehrere Antworten gibt, gibt es bei diesem Ansatz ein Problem. Es wählt den gesamten übereinstimmenden Text aus, nicht nur die gesamten Wörter wie Variablen.

Gemäß " Sublime Text: Alle Instanzen einer Variablen auswählen und Variablennamen bearbeiten " und der Antwort unter " Sublime Text: Alle Instanzen einer Variablen auswählen und Variablennamen bearbeiten " müssen wir mit einer leeren Auswahl beginnen. Beginnen Sie also mit der Verknüpfung Alt+ F3, um nur die gesamten Wörter auszuwählen.


1
Das ist toll zu wissen. Alt+F3ohne Auswahl -> ganzes Wort. Mit Auswahl -> genaue Übereinstimmung.
nh2
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.