Wie ersetze ich Text in einer Auswahl?

124

Ich habe gerade angefangen, Sublime Text 2 von Emacs zu verwenden.

Ich habe eine Textregion ausgewählt. Innerhalb dieser Region möchte ich alle Textinstanzen von '0' durch '255' ersetzen.

Wie mache ich diese Art von Textersetzung?

user1419762
quelle

Antworten:

212

Das hat mich verdammt frustriert, und keine der obigen Antworten hat mir wirklich das gebracht, was ich wollte. Ich fand schließlich die Antwort , die ich suchte, auf einem Mac , wenn Sie tun + option+ Fwird es eine Find-Replace Leiste am unteren Rand des Editor bringen , die auf die Datei , die Sie geöffnet haben , lokal ist.

Es gibt eine Symboloption, die beim Bewegen des Mauszeigers "In Auswahl" anzeigt, die Sie auswählen können, um sie innerhalb einer Auswahl zu suchen und zu ersetzen. Ich habe auf das richtige Symbol im folgenden Screenshot gezeigt.

Geben Sie hier die Bildbeschreibung ein

Klicken Sie auf Alle ersetzen, und voila, alle Instanzen von '0'werden durch ersetzt '255'.

Hinweis: Diese Funktion steht nur zur Verfügung, wenn Sie verwenden + option+ F.

Es wird NICHT angezeigt, wenn Sie + shift+ verwenden F.

Hinweis: Dadurch werden alle Instanzen von '0'durch ersetzt '255'. Wenn Sie wollten ersetzen 0(ohne Anführungszeichen) mit 255, dann setzen Sie einfach 0(ohne Anführungszeichen) und 255in den Find What:und Replace With:Felder sind.

Hinweis:

optionSchlüssel wird auch als altSchlüssel bezeichnet.

Schlüssel wird auch als commandSchlüssel bezeichnet.

Paul Pettengill
quelle
2
Vielen Dank für diese Antwort! Die Grafik hilft auch. Ich hatte gedacht, es gäbe nur den command+shift+FDialog. Hatte keine Ahnung, dass es noch einen gab.
Joseph Marikle
2
Dies ist die einzige Antwort, die die Frage tatsächlich beantwortet - wie ersetze ich Text in einer Auswahl ?
Ericsoco
7
Ctrl+Hauf GNU / Linux oder Menü Find>Replace...
cbliard
JA @CBLIARD Strg + H HAT DEN JOB FÜR UBUNTU DANKE GETÄTIGT
zee
15
auf Windows OSseinem Ctrl+Hoder Menü Find > Replace..., scheint das gleiche zu sein wie für Linux (siehe @cbliards Kommentar)
Adrien Be
36

Auf einem Mac können Sie den gewünschten Text auswählen und dann drücken: cmd+ ctrl+G

Dadurch wird jede Instanz Ihres ausgewählten Textes innerhalb desselben Dokuments ausgewählt. Wenn Sie jetzt mit der Eingabe beginnen, um Ihren ursprünglich hervorgehobenen Text zu ersetzen, werden alle anderen Vorkommen gleichzeitig ersetzt.

Simon Wilder
quelle
6
Danke dir! Genau das habe ich gesucht.
Kopty
Dies funktioniert nicht richtig. Sobald Sie CMD-Strg-G drücken, werden auch alle anderen Teilzeichenfolgen ausgewählt, die Ihrem ausgewählten Text entsprechen, und werden beim Bearbeiten geändert.
David
@David. Sicher haben Sie gerade das gleiche Verhalten beschrieben wie ich?
Simon Wilder
27

Einige der Antworten hier haben nicht wirklich geholfen.

Die Leute zeigen dir, wie man Dinge findet, aber jetzt, wie man sie ersetzt.

Ich habe gerade einen Blick darauf geworfen, und es sieht so aus, als wäre es Ctrl+ Hzum Ersetzen, dann erhalten Sie den Suchdialog sowie einen Ersetzungsdialog. Das hat bei mir funktioniert.

Adam K Dean
quelle
Es wird nicht für Mac-Benutzer funktionieren. As, Strg + H verbirgt das Erhabene auf dem Mac.
Vineet Jain
Ich bin auch ein Mac-Benutzer. Es ist cmd+ Hzum Verstecken, nicht ctrl, obwohl ich jetzt Atom anstelle von sublime benutze und die Abkürzung zum Ersetzen alt+ cmd+ ist, fdamit sich die Dinge ändern können
Adam K Dean
17

ST2 verfügt über eine Funktion zum gleichzeitigen Ändern mehrerer Auswahlen.

  1. Doppelklicken Sie auf die erste Instanz von 0, die Sie ändern möchten.
  2. Drücken Sie die Taste für Suchen-> Schnell hinzufügen Weiter * , um die nächste Instanz von 0 auszuwählen, und wiederholen Sie den Vorgang , bis Sie alle Instanzen von 0 ausgewählt haben, die Sie ändern möchten.
    Wenn diese Methode eine Instanz auswählt, die Sie überspringen möchten, drücken Sie die Taste für Suchen-> Schnelles Überspringen Weiter .
  3. Stellen Sie sicher, dass die mehreren hervorgehobenen Felder ersetzt werden sollen. Geben Sie als Nächstes '255' ein und es sollten alle ausgewählten Instanzen gleichzeitig geändert werden.

* Suchen Sie im Menü Suchen in der Menüleiste nach der richtigen Tastenkombination für Ihr System. Für Vanille Windows können Sie das Menü sagt , dass Suche -> Schnell hinzufügen Weiter ist Ctrl+ Dund Finden -> Schnell überspringen Weiter ist Ctrl+ K, Ctrl+ D.

Joe Bergevin
quelle
1
Ja, doppelklicken Sie einfach auf ein beliebiges Wort. Alle anderen Instanzen werden leicht hervorgehoben und drücken Sie Befehlstaste + D. Die anderen Vorkommen werden hervorgehoben. Anschließend können Sie einfach mit der Eingabe beginnen und den Text in allen ausgewählten Bereichen ersetzen.
WallMobile
12

Ich weiß, dass dies viele Male beantwortet wurde und alle richtig sind, aber ich dachte, ich würde noch eine hinzufügen:

Ähnlich wie bei der Methode Ctrl- D, um einzelne Vorkommen der aktuellen Auswahl auszuwählen, können Sie bei Verwendung von Windows oder Linux ( + + in der Mac-Welt) alle Vorkommen in der Datei mit Alt+ auswählen .F3CMDCTRLG

Dies ist hilfreich für Massenänderungen.

jkloo
quelle
9

Wählen Sie zunächst den Teil des Textes aus, der die zu ändernden Bits enthält. Unter Windows (sorry) ist es Ctrl+ Hoder Find > Replace...Dies öffnet die Felder Suchen / Ersetzen am Ende der Datei. Geben Sie Ihre Daten ein und klicken Sie auf Replace All(oder Ctrl+ Alt+ Enter).

Garyh
quelle
6

1) Ctrl + F(oder Cmd + Fauf einem Mac);
2) Geben Sie die Zeichenfolge ein, die Sie in der Eingabe unten im Fenster finden möchten.
3) Drücken Sie "Find All";

Alle Auftritte sind jetzt ausgewählt. Mach was du willst.

Beiseite

Links neben dem Eingang, der geöffnet wird, befinden sich eine Reihe von Optionen Ctrl + F. Es gibt eine, die so etwas wie "In ausgewähltem Text suchen" sagt. Wählen Sie eine Reihe von Texten aus, aktivieren Sie diese Option und wiederholen Sie die obigen Schritte ab 2). Jetzt werden nur Übereinstimmungen ausgewählt, die zu dieser Auswahl gehören.

Banzomaikaka
quelle
Komplikationen: Ich verwende Linux und Emacs-Tastenkombinationen für ST2. STRG-F bewegt den Cursor also nur vorwärts. Außerdem frage ich mich speziell, ob es eine Möglichkeit gibt, alle Instanzen einer Zielzeichenfolge zu ersetzen, die nur innerhalb einer Auswahl vorhanden sind.
user1419762
Siehe meine Seite für das Ersetzen nur innerhalb einer Auswahl. Nun zu Linux ... Ich kann Ihnen dort nicht wirklich helfen, da ich es nur auf Mac und Windows verwendet habe.
Banzomaikaka
4

Sie können ctrl+ verwenden F, um den Text zu finden.
ctrl+ h, um den Ersatztext einzugeben. Dann ctrl+ shift+ h, um den aktuell ausgewählten Text zu ersetzen und zum nächsten übereinstimmenden Text zu wechseln.

Dies ist für Windows. Sie können aber auch einen Mac einchecken, für den Sie möglicherweise die Tastenkombinationen unter "Einstellungen" überprüfen möchten.

xpioneer
quelle
3

Windows
1- Suchen: CTRL+ F
2- Auswählen: Alt+ Enter

Jetzt können Sie die gesamte Auswahl auf einmal ändern, z. B. ST-Homepage-Spot "im Fernsehen gesehen".

Das Guthaben geht an: https://superuser.com/a/921806/342825

Elsadek
quelle
3
  1. Wählen Sie das Element aus, das Sie ersetzen möchten (doppelklicken Sie darauf oder Ctrl- Fum es zu finden) ...

  2. Führen Sie dann auf dem Mac ein ( Ctrl- Apple- G) aus (auch bekannt als "Quick Find All"), um alle Vorkommen der Zeichenfolge auf einmal hervorzuheben.

  3. Geben Sie jetzt einfach Ihren Ersatztext direkt ein ... Alle Auswahlvorgänge werden während der Eingabe ersetzt (als ob sich Ihr Cursor an mehreren Stellen gleichzeitig befand!).

Sehr praktisch ...

Paul Brady
quelle
2

Wie @JOPLOmacedo sagte, ist ctrl+ Fdas, was Sie brauchen, aber wenn Sie diese Verknüpfung nicht verwenden können, können Sie im Menü einchecken:

  • Suchen -> Suchen ..

    und da hast du es.
    Sie können auch eine benutzerdefinierte Tastenkombination für die Suche festlegen :

  • Einstellungen -> Tastenkombinationen - Benutzer

    Da Ihre Anfrage nur für die Auswahl angefordert wird, befindet sich direkt neben dem Suchfeld eine Schaltfläche, über die Sie sich für "In Auswahl" anmelden können .

  • Gruber
    quelle