Column/Vertical selection with Keyboard in SublimeText 3
Solution 1
Alright, here's the best solution I've found that meets all the requirements:
- Download the Sublime-Text-Advanced-CSV Sublime plugin and install.
- Specify a delimiter for your column (default is ","), via the "CSV: Set Delimiter" command.
- Hit "ctrl + , s" (or select from Command Palette) and your column will be selected.
No need for mouse interaction whatsoever.
Solution 2
You should see Sublime Column Selection:
Using the Mouse
Different mouse buttons are used on each platform:
OS X
- Left Mouse Button + ⌥
OR: Middle Mouse Button
Add to selection: ⌘
- Subtract from selection: ⇧+⌘
Windows
- Right Mouse Button + Shift
OR: Middle Mouse Button
Add to selection: Ctrl
- Subtract from selection: Alt
Linux
Right Mouse Button + Shift
Add to selection: Ctrl
- Subtract from selection: Alt
Using the Keyboard
OS X
- Ctrl + Shift + ⬆
- Ctrl + Shift + ⬇
Windows
- Ctrl + Alt + ⬆
- Ctrl + Alt + ⬇
Linux
- Ctrl + Alt + ⬆
- Ctrl + Alt + ⬇
Solution 3
The reason why the sublime documented shortcuts for Mac does not work are they are linked to the shortcuts of other Mac functionalities such as Mission Control, Application Windows, etc. Solution: Go to System Preferences -> Keyboard -> Shortcuts and then un-check the options for Mission Control and Application Windows. Now try "Control + Shift [+ Arrow keys]" for selecting the required text and then move the cursor to the required location without any mouse click, so that the selection can be pasted with the correct indentation at the required location.
Solution 4
In my case (Linux) is alt+shift up/down
{ "keys": ["alt+shift+up"], "command": "select_lines", "args": {"forward": false} },
{ "keys": ["alt+shift+down"], "command": "select_lines", "args": {"forward": true} },
Solution 5
This should do it:
Ctrl+A
- select all.Ctrl+Shift+L
- split selection into lines.- Then move all cursors with
left/right
, select withShift+left/right
. Move all cursors to start of line withHome
.
user2544542
Updated on January 28, 2020Comments
-
user2544542 over 4 years
I'm on a Mac. I have 7 columns in Sublime Text 3, each 300 lines each. If possible, I would like to select only the 4th column using a single keyboard shortcut.
Unsuitable options
ctrl
+shift
+up/down
alt
+mouse
+drag
ctrl
+alt
+up/down
. (This actually doesn't do anything, nor does it appear in my console session and nor is it a single keyboard shortcut).- I'd also prefer not to use VI/VIM mode just for this as it's not regular part of my workflow
What I've tried:
- A macro: but it isn't specific enough.
- using
command
and 'page down' withctrl
and 'shift`: no luck - SublimeText 3 Column-Select plugin: did not seem to work for me
My ideal solution would be that my cursor could be placed anywhere in a column and I would hit a shortcut (e.g. ctrl-alt-shift-a) and it would select the whole column.
Here is an example:
John Sally Benson Mariah Patrick Samantha Martin
Simon Kate Carey Delores Joshua Samuel Eliza
I want to select the column with Maria and Delores with one keystroke. I perform this action often so for various reasons (cut/paste, change case, append, add quotes, run macro etc) and thus would want something quick and repeatable.
How would I do this?
-
MattDMo almost 10 yearsNotepad++ is Windows-only, OP is on a Mac. You'll also note OP specifically said this was not an option...
-
user2544542 about 9 yearsIt didn't select the whole column. Was only able to get it to do incremental selection up or down a column line-by-line.
-
DrStrangepork almost 9 yearsSee my update regarding the Default (OSX).sublime-keymap file
-
hipokito over 8 yearsShift + Right mouse button (not left) in Linux.
-
m3nda over 8 years@MattDMo Notepad++ runs great with Wine. I moved from Notepad++ to Geany&SublimeText and that feature was the first that I look for. Geany does it by
Ctrl+Alt+Left Mouse
selection. -
user2544542 over 8 yearsThe bottom two (with home and end) are what I'm interesting in but it doesn't seem to work.
-
DrStrangepork over 8 yearsAssuming you do not have a keymap that overrides those in the plugin, ctrl+alt+home should select the current column of your cursor up to the first line of the file. That is to say that if you have the cursor in Line 3, Column 3 and hit ctrl+alt+home, you should see a line that runs from Line 3, Column 3 to Line 1, Column 3. Hitting ctrl+alt+home again should return you to just Line 3, Column 3. Hitting ctrl+alt+end does the same thing to the last line of the file. Then use the standard selection keys to select your text.
-
L_7337 about 8 yearsWindows Note: For people using certain graphics cards (Intel), there are HotKeys setup that causes
Ctrl + Alt + Down
to rotate your screen. You need to disable these HotKeys for this to work on Windows.Ctrl+Alt+F12 > Options > Uncheck "Enable Hot Keys"
-
user2544542 over 7 yearsThe question specified without mouse and the selection should be made of the entire column all at once. This answer does not meet that.
-
becko over 7 yearsOn Linux Mint,
Ctrl + Alt + Up/Down
didn't work for me. UsingAlt + Shift + Up/Down
instead. -
user2544542 over 7 yearsVincent, ctrl+shift+down selects one-at-a-time. The question was clear that it needed to select the whole column at once.
-
user2544542 over 7 yearsThe question was for a keyboard shortcut ONLY option (no mouse, no dragging) that would select the entire column at once, on a mac.
-
user2544542 over 7 yearsDoes this select the entire column in one go?
-
Leo Gasparrini about 7 yearsThanks man! I disabled mission control and now I can do block selection
-
isaias-b over 6 yearsI am using sublime3 on macosx and to enter column mode i select a portion of text as usual, but then i press a shortcut to "place a carret on each line of the selection":
⌘
+SHIFT
+L
-
wenbert over 6 yearsShould be noted in the "correct answer". Also quite annoying the shortcuts do not exactly match in the settings. ie: In the "Shortcuts" is just looks like i.imgur.com/v5tm9Tl.png
-
Tor Klingberg about 6 yearsOn Ubuntu 16.04,
Ctrl + Alt + Up/Down
switches virtual workspace.Alt + Shift + Up/Down
, as becko said above, works.