Sublime Text 2 mehrzeilig bearbeiten


147

Ich möchte mehrere Zeilen und jedes "Wort" in dieser Zeile bearbeiten. Beispielsweise:

45 28 42 65
24 87 47 95
01 25 87 98

Ich möchte jede ganze Zahl in allen Zeilen auswählen und ein "0x" davor setzen, damit es so aussieht:

0x45 0x28 0x42 0x65
0x24 0x87 0x47 0x95
0x01 0x25 0x87 0x98

Ich kenne das Ctrl+ shift+ L, um Cursor in jeder Zeile zu erhalten, aber wie kann ich die Cursor vor jeder Zahl dazu bringen, alle auf einmal zu bearbeiten?


Es ist wahrscheinlich spät, diese Frage zu beantworten, aber hier ist ein Link, über den Sie möglicherweise eine Antwort auf die Frage finden. sublimetext.com/docs/3/…
Alexander

Antworten:


282

Markieren Sie die Linien und verwenden Sie:

  • Windows: Ctrl+ Shift+L
  • Mac: Cmd ⌘+ Shift+L

Sie können dann den Cursor nach Herzenslust bewegen und alle Zeilen gleichzeitig bearbeiten.

Es wird im Menü "Auswahl" auch als "In Zeilen aufteilen" bezeichnet.


Ja, aber wie kann ich auch jede Zahl in den Zeilen gleichzeitig bearbeiten? Wenn ich also nur die erste Zeile machen würde, könnte ich jede Nummer in der ersten Zeile gleichzeitig bearbeiten? Wenn das Sinn macht
Syperus

Sie können nicht - Sie können den Cursor nur an einer Stelle in einer bestimmten Zeile haben. Sie können es jedoch an den Anfang der Zeile verschieben, 0x hinzufügen, mit alt> ein Wort verschieben und erneut 0x hinzufügen.
Owen

28
Das stimmt nicht - Sie können so viele Cursor in einer Zeile haben, wie Sie möchten. Alles was Sie tun müssen, ist Ctrl-click(in Windows), um sie zu platzieren.
MattDMo

3
@MattDMo JA !! Genau das habe ich gesucht. Kennen Sie zufällig die Tastenkombination, um alle so auszuwählen? Ich werde mich umschauen und sehen, ob ich es finden kann.
Syperus

Wenn ich Ctrl+ Shift+ verwendet habe L, werden alle Zeilen ausgewählt, aber der Cursor in jeder Zeile befindet sich entweder am Anfang oder am Ende der Zeile. Wenn ich dann den Pfeil nach links drücke, um alle Cursor wieder an den Anfang jeder Zeile zu bringen, werden die Cursor relativ zu ihrer Position nach hinten verschoben, sodass sie sich immer noch nicht gleichmäßig an derselben Position in der Zeile befinden. Wie bekomme ich alle Cursor am Anfang der Zeile? (Für den Kontext versuche ich nur, [space]*[space]am Anfang jeder Zeile hinzuzufügen ).
user1063287

84

Verwenden Sie mehrere Cursor und Spaltenauswahl.

In Ihrem Fall müssen Sie nur die Cursor am Anfang jeder Spalte platzieren, die die "Wörter" enthält.

Linux und Windows

  • Klicken und ziehen Sie, um Spalte (n) auszuwählen: Shift+RightMouseBtn
  • Fügen Sie der Auswahl weitere Spalten hinzu, indem Sie klicken und ziehen: Ctrl+ Shift+RightMouseBtn
  • Subtrahieren Sie die Spalte (n) von der Auswahl: Alt+ Shift+RightMouseBtn
  • Fügen Sie einzelne Cursor hinzu: Ctrl+LeftMouseBtn
  • Einzelne Cursor entfernen: Alt+LeftMouseBtn

Mac

  • Klicken und ziehen Sie, um Spalte (n) auszuwählen: Option⌥+LeftMouseBtn
  • Fügen Sie der Auswahl weitere Spalten hinzu, indem Sie klicken und ziehen: Option⌥+LeftMouseBtn
  • Subtrahieren Sie die Spalte (n) von der Auswahl: Cmd⌘+ Option⌥+ shift+LeftMouseBtn
  • Fügen Sie einzelne Cursor hinzu: Cmd⌘+LeftMouseBtn
  • Einzelne Cursor entfernen: Cmd⌘+ Option⌥+ shift+LeftMouseBtn

Bearbeiten Sie dann nach Bedarf. Geben Sie in Ihrem Fall 0, x.

Sie können auch nach Bedarf zum Ende oder Anfang der Wörter navigieren, die Wörter auswählen und mit Anführungszeichen oder Klammern umgeben und so weiter.


Verweise:


10

Arbeitete für mich unter OS X + Sublime Build 3083:

OPTION (ALT) + select lines

3

Ich bin mir nicht sicher, ob es "out of the box" möglich ist. Und leider kenne ich auch kein passendes Plugin. Um das von Ihnen vorgeschlagene Problem zu lösen, können Sie reguläre Ausdrücke verwenden.

  1. Cmd + F (Suchen)
  2. Regexp: [^ ]+(oder \d+oder was auch immer Sie bevorzugen)
  3. Option + F (Alle finden)
  4. Bearbeite es

Hotkeys können je nach Betriebssystem und persönlichen Einstellungen variieren (meine sind für OS X).


Kein Plugin erforderlich. Verwenden Sie Alt + Enter am Ende für Linux.
elomage

2

Ich hatte unter Linux das gleiche Problem. Ich habe den gesamten Inhalt ausgewählt (Strg-A) und dann Strg + Umschalt + L gedrückt. Sie erhalten einen Cursor in jeder Zeile und können dann jeder Spalte einen ähnlichen Inhalt hinzufügen .

Sie können auch andere Vorgänge ausführen, z. B. spaltenweise ausschneiden, kopieren und einfügen.

PS: - Wenn Sie einen rechteckigen Datensatz aus Text auswählen möchten, können Sie auch die Umschalttaste drücken und die rechte Maustaste gedrückt halten und dann die Daten rechteckig auswählen. Drücken Sie dann STRG + UMSCHALT + L, um den Cursor auf jede Zeile zu setzen.


2

Windows: Ich bevorzuge Alt + F3, um eine Zeichenfolge zu durchsuchen und alle Instanzen der Suchzeichenfolge gleichzeitig zu ändern.

http://www.sublimetext.com/docs/selection


Alt + F3 funktioniert auch unter Linux und mit Sublime Text 3. Dies ist die schnellste und einfachere Möglichkeit, dieselbe Zeichenfolge in einer Datei zu bearbeiten.
Kiamlaluno

2

Unter Windows, ziehe ich Ctrl+ Alt+ Down.

Es wählt die Zeilen einzeln aus und startet automatisch den Mehrzeilen-Editor-Modus. Auf diese Weise geht es etwas schneller. Wenn Sie viele Zeilen bearbeiten müssen, ist die Auswahl des Texts und Ctrl+ Shift+ die Lbessere Wahl.


0

Strg + Umschalt + Rechtsklick funktioniert auf diese Weise besser


-1

Es ist in Ordnung, jede Zahl manuell für einen kleinen Satz von Zahlen wie in Ihrem Beispiel auszuwählen, aber für größere Sammlungen können Sie eine Regex-Suche durchführen, die die Arbeit für Sie erledigt.

Ctrl + F öffnet die Suchleiste.

Regex-Suchen werden durch Klicken auf die Schaltfläche ". *" Ganz links aktiviert.

Geben Sie "\ d +" ein, um nach allen Vorkommen mit einer oder mehreren Ziffern zu suchen. Durch Klicken auf die Schaltfläche "Alle suchen" wird jede dieser Nummern separat ausgewählt.

Anschließend können Sie mit Ctrl+ Shift+ Ldie Auswahl in mehrere Cursor konvertieren. Von hier aus können Sie tun, was Sie möchten.

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.