Spalten- / vertikale Auswahl mit Tastatur in SublimeText 3

72

Ich bin auf einem Mac. Ich habe 7 Spalten in Sublime Text 3 mit jeweils 300 Zeilen. Wenn möglich, möchte ich nur die 4. Spalte mit einer einzigen Tastenkombination auswählen.

Ungeeignete Optionen

  • ctrl+ shift+up/down
  • alt+ mouse+drag
  • ctrl+ alt+ up/down. (Dies macht eigentlich nichts, erscheint auch nicht in meiner Konsolensitzung und ist auch keine einzelne Tastenkombination).
  • Ich würde es auch vorziehen, den VI / VIM-Modus nicht nur dafür zu verwenden, da dies kein regulärer Bestandteil meines Workflows ist

Was ich versucht habe:

  • Ein Makro: aber es ist nicht spezifisch genug.
  • Verwenden commandund 'Blättern nach unten' mit ctrlund 'Verschieben': kein Glück
  • SublimeText 3 Column-Select-Plugin: schien bei mir nicht zu funktionieren

Meine ideale Lösung wäre, dass mein Cursor an einer beliebigen Stelle in einer Spalte platziert werden könnte und ich eine Verknüpfung (z. B. Strg-Alt-Umschalt-A) drücken und die gesamte Spalte auswählen würde.

Hier ist ein Beispiel:

John Sally Benson Mariah Patrick Samantha Martin

Simon Kate Carey Delores Joshua Samuel Eliza

Ich möchte die Spalte mit Maria und Delores mit einem Tastendruck auswählen. Ich führe diese Aktion häufig aus verschiedenen Gründen aus (Ausschneiden / Einfügen, Ändern der Groß- und Kleinschreibung, Anhängen, Hinzufügen von Anführungszeichen, Ausführen von Makros usw.) und möchte daher etwas schnelles und wiederholbares.

Wie würde ich das machen?

user2544542
quelle
Ich konnte in diesem Thread keine zufriedenstellende Antwort finden. Ich habe hier allerdings einen gefunden: stackoverflow.com/questions/10080202/…
Marvin

Antworten:

155

Sie sollten Sublime Column Selection sehen :

Verwenden der Maus

Auf jeder Plattform werden unterschiedliche Maustasten verwendet:

OS X.

  • Linke Maustaste +
  • ODER: Mittlere Maustaste

  • Zur Auswahl hinzufügen:

  • Von der Auswahl abziehen: +

Windows

  • Rechte Maustaste +Shift
  • ODER: Mittlere Maustaste

  • Zur Auswahl hinzufügen: Ctrl

  • Von der Auswahl abziehen: Alt

Linux

  • Rechte Maustaste +Shift

  • Zur Auswahl hinzufügen: Ctrl

  • Von der Auswahl abziehen: Alt

Verwenden der Tastatur

OS X.

  • Ctrl+ Shift+
  • Ctrl+ Shift+

Windows

  • Ctrl+ Alt+
  • Ctrl+ Alt+

Linux

  • Ctrl+ Alt+
  • Ctrl+ Alt+
Mithril
quelle
42
Windows Hinweis: Für Benutzer bestimmter Grafikkarten (Intel) gibt es HotKeys-Setups, die dazu führen Ctrl + Alt + Down, dass sich Ihr Bildschirm dreht. Sie müssen diese HotKeys deaktivieren, damit dies unter Windows funktioniert. Ctrl+Alt+F12 > Options > Uncheck "Enable Hot Keys"
L_7337
3
Die ohne Maus angegebene Frage und die Auswahl sollten auf einmal für die gesamte Spalte erfolgen . Diese Antwort entspricht dem nicht.
user2544542
16
Unter Linux Mint hat Ctrl + Alt + Up/Downes bei mir nicht funktioniert. Verwenden Sie Alt + Shift + Up/Downstattdessen.
Becko
2
Ich benutze sublime3 auf Macosx und um in den Spaltenmodus zu gelangen, wähle ich wie gewohnt einen Teil des Textes aus, aber dann drücke ich eine Verknüpfung, um "eine Carret in jede Zeile der Auswahl zu setzen": + SHIFT+L
isaias-b
2
Wechselt unter Ubuntu 16.04 den Ctrl + Alt + Up/Downvirtuellen Arbeitsbereich. Alt + Shift + Up/Down, wie Becko oben sagte, funktioniert.
Tor Klingberg
25

Der Grund, warum die erhabenen dokumentierten Verknüpfungen für Mac nicht funktionieren, besteht darin, dass sie mit den Verknüpfungen anderer Mac-Funktionen wie Missionssteuerung, Anwendungsfenster usw. verknüpft sind. Lösung: Gehen Sie zu Systemeinstellungen -> Tastatur -> Verknüpfungen und deaktivieren Sie diese Option die Optionen für Mission Control und Application Windows. Versuchen Sie nun "Strg + Umschalt [+ Pfeiltasten]", um den gewünschten Text auszuwählen, und bewegen Sie den Cursor dann ohne Mausklick an die gewünschte Stelle, damit die Auswahl mit der richtigen Einrückung an der gewünschten Stelle eingefügt werden kann.

abhishektalluri
quelle
Sollte in der "richtigen Antwort" vermerkt werden. Auch ziemlich nervig stimmen die Verknüpfungen in den Einstellungen nicht genau überein. dh: In den "Shortcuts" sieht es einfach so aus wie i.imgur.com/v5tm9Tl.png
wenbert
14

In meinem Fall ist (Linux) alt+ shift up/down

 { "keys": ["alt+shift+up"], "command": "select_lines", "args": {"forward": false} },
 { "keys": ["alt+shift+down"], "command": "select_lines", "args": {"forward": true} },    
Mathematik
quelle
Wählt dies die gesamte Spalte auf einmal aus?
user2544542
8

Das SublimeText 3 Column-Select-Plugin sollte alles sein, was Sie brauchen. Installieren Sie das und stellen Sie sicher, dass Ihre 'Standard (OSX) .sublime-keymap'-Datei Folgendes enthält:

    // Column mode
    { "keys": ["ctrl+alt+up"], "command": "column_select", "args": {"by": "lines", "forward": false}},
    { "keys": ["ctrl+alt+down"], "command": "column_select", "args": {"by": "lines", "forward": true}},
    { "keys": ["ctrl+alt+pageup"], "command": "column_select", "args": {"by": "pages", "forward": false}},
    { "keys": ["ctrl+alt+pagedown"], "command": "column_select", "args": {"by": "pages", "forward": true}},
    { "keys": ["ctrl+alt+home"], "command": "column_select", "args": {"by": "all", "forward": false}},
    { "keys": ["ctrl+alt+end"], "command": "column_select", "args": {"by": "all", "forward": true}}

Was genau hat bei Ihnen nicht funktioniert?

DrStrangepork
quelle
Es wurde nicht die gesamte Spalte ausgewählt. Konnte es nur dazu bringen, eine Spalte zeilenweise inkrementell nach oben oder unten auszuwählen.
user2544542
Siehe mein Update bezüglich der Standard (OSX) .sublime-Keymap-Datei
DrStrangepork
Die beiden unteren (mit Zuhause und Ende) sind das, woran ich interessiert bin, aber es scheint nicht zu funktionieren.
user2544542
Angenommen, Sie haben keine Keymap, die die im Plugin überschreibt, sollte Strg + Alt + Home die aktuelle Spalte Ihres Cursors bis zur ersten Zeile der Datei auswählen. Das heißt, wenn Sie den Cursor in Zeile 3, Spalte 3 haben und Strg + Alt + Home drücken, sollte eine Zeile angezeigt werden, die von Zeile 3, Spalte 3 bis Zeile 1, Spalte 3 verläuft. Drücken Sie Strg + Alt + Home Sie sollten wieder nur zu Zeile 3, Spalte 3 zurückkehren. Wenn Sie Strg + Alt + Ende drücken, wird das Gleiche für die letzte Zeile der Datei getan. Verwenden Sie dann die Standardauswahltasten, um Ihren Text auszuwählen.
DrStrangepork
4

Dies sollte es tun:

  1. Ctrl+A - Wählen Sie Alle.
  2. Ctrl+Shift+L - Auswahl in Zeilen aufteilen.
  3. Verschieben Sie dann alle Cursor mit left/right, wählen Sie mit Shift+left/right. Bewegen Sie alle Cursor zum Zeilenanfang Home.
Sanchay
quelle
3

Für macOS müssen Sie kein Plugin oder keine Maus installieren. mach einfach so: - Ctrl+Shift+Down

Vincent
quelle
Vincent, Strg + Umschalt + Ab, wählt einzeln aus. Die Frage war klar, dass die gesamte Spalte auf einmal ausgewählt werden musste.
user2544542
Danke, Mann! Ich habe die Missionskontrolle deaktiviert und jetzt kann ich die Blockauswahl treffen
Leo Gasparrini
2

Okay, hier ist die beste Lösung, die ich gefunden habe und die alle Anforderungen erfüllt:

  1. Laden Sie das Sublime-Text-Advanced-CSV Sublime-Plugin herunter und installieren Sie es.
  2. Geben Sie über den Befehl "CSV: Set Delimiter" ein Trennzeichen für Ihre Spalte an (Standard ist ",").
  3. Drücken Sie "Strg +, s" (oder wählen Sie aus der Befehlspalette) und Ihre Spalte wird ausgewählt.

Keine Notwendigkeit für Mausinteraktion.

user2544542
quelle
0

Nur kommentieren, damit die Leute eine Lösung für die beabsichtigte Frage haben können.

Sie können tun, was Sie wollen, aber es ist nicht ganz so schön wie Notepad ++, aber es kann für kleine Lösungen anständig genug funktionieren.

Wenn Sie in sublime Strg oder Mac-Äquiv. Halten und das gewünschte Wort / die gewünschten Zeichen in einer einzelnen Zeile mit der Maus auswählen und weiterhin die Strg-Taste gedrückt halten, gehen Sie zu einer anderen Zeile und wählen Sie das gewünschte Wort / die gewünschten Zeichen in dieser Zeile aus und Sie werden Ihre Auswahl erstellen. Ich benutze hauptsächlich Notepadd ++ als Extraktor und Datenbereinigung und erhaben für die eigentliche Entwicklung.

Die andere Möglichkeit ist, wenn Ihre Spalten perfekt ausgerichtet sind, einfach mit der mittleren Maustaste auf Fenster oder mit der Option + auf den Mac klicken zu können. Auf diese Weise können Sie Text quadratisch wie Spalten innerhalb der Textzeilen auswählen.

David
quelle
Die Frage war NUR eine Option für eine Tastenkombination (keine Maus, kein Ziehen), mit der auf einem Mac die gesamte Spalte auf einmal ausgewählt werden kann.
user2544542
-1

Ich weiß, dass Notepad ++ eine Funktion hat, mit der Sie Textblöcke unabhängig von Zeile / Spalte auswählen können, indem Sie Strg + Alt + Ziehen gedrückt halten. Sie können also nahezu jeden gewünschten Textblock auswählen.

Akado117
quelle
Notepad ++ ist nur für Windows verfügbar, OP ist auf einem Mac verfügbar. Sie werden auch feststellen, dass OP ausdrücklich sagte, dies sei keine Option ...
MattDMo
2
Umschalt + rechte Maustaste (nicht links) unter Linux.
Hipokito
@MattDMo Notepad ++ läuft hervorragend mit Wine. Ich bin von Notepad ++ zu Geany & SublimeText gewechselt und diese Funktion war die erste, nach der ich gesucht habe. Geany macht es durch Ctrl+Alt+Left MouseAuswahl.
m3nda