在SublimeText 3中使用键盘进行列/垂直选择

use*_*542 64 keyboard-shortcuts sublimetext3

我在Mac上.我在Sublime Text 3中有7列,每行300行.如果可能,我想使用单个键盘快捷键仅选择第4列.

不合适的选择

  • ctrl+ shift+up/down
  • alt+ mouse+drag
  • ctrl+ alt+ up/down.(这实际上没有做任何事情,也没有出现在我的控制台会话中,也不是一个键盘快捷键).
  • 我也不想仅仅为此使用VI/VIM模式,因为它不是我工作流程的常规部分

我尝试过的:

  • 一个宏:但它不够具体.
  • command'和'向下'用ctrl'和'shift`:没有运气
  • SublimeText 3 Column-Select插件:似乎对我不起作用

我理想的解决方案是我的光标可以放在列中的任何位置,我会点击一个快捷方式(例如ctrl-alt-shift-a),它会选择整个列.

这是一个例子:

John Sally Benson Mariah Patrick Samantha Martin

Simon Kate Carey Delores Joshua Samuel Eliza

我想通过一次击键选择Maria和Delores的列.我经常执行此操作,因为各种原因(剪切/粘贴,更改大小写,追加,添加引号,运行宏等),因此需要快速和可重复的东西.

我该怎么做?

Mit*_*ril 136

您应该看到Sublime Column Selection:

使用鼠标

每个平台使用不同的鼠标按钮:

OS X.

  • 鼠标左键 +
  • 或者:鼠标中键

  • 加入选择:

  • 减去选择:+

视窗

  • 鼠标右键 +Shift
  • 或者:鼠标中键

  • 加入选择: Ctrl

  • 从选择中减去: Alt

Linux的

  • 鼠标右键 +Shift

  • 加入选择: Ctrl

  • 从选择中减去: Alt

使用键盘

OS X.

  • Ctrl+ Shift+
  • Ctrl+ Shift+

视窗

  • Ctrl+ Alt+
  • Ctrl+ Alt+

Linux的

  • Ctrl+ Alt+
  • Ctrl+ Alt+

  • Windows注意:对于使用某些图形卡(英特尔)的用户,有HotKeys设置会导致"Ctrl + Alt + Down"旋转屏幕.您需要禁用这些HotKeys才能在Windows上运行.`Ctrl + Alt + F12>选项>取消选中"启用热键"` (41认同)
  • 在Linux Mint上,"Ctrl + Alt + Up/Down"对我来说不起作用.使用"Alt + Shift + Up/Down"代替. (14认同)
  • 指定的问题*没有鼠标*,应该同时选择*整列*.这个答案不符合这个要求. (3认同)
  • 我在macosx上使用sublime3并进入列模式我像往常一样选择一部分文本,但是我按下一个快捷方式"在选择的每一行上放置一个carret":`⌘`+`SHIFT` +`L` (2认同)
  • 在Ubuntu 16.04上,`Ctrl + Alt + Up/Down`切换虚拟工作区.正如becko上面说的那样,"Alt + Shift + Up/Down"可以工作. (2认同)

小智 23

sublime记录的Mac快捷方式不起作用的原因是它们与其他Mac功能的快捷方式相关联,例如Mission Control,Application Windows等.解决方案:转到系统偏好设置 - >键盘 - >快捷方式然后取消选中任务控制和应用程序Windows的选项.现在尝试"按住Control + Shift [+箭头键]"选择所需的文本,然后将光标移动到所需的位置,无需任何鼠标点击,以便可以在所需位置粘贴选择正确的缩进.


Mat*_*ath 11

在我的情况下(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} },    
Run Code Online (Sandbox Code Playgroud)


San*_*hay 6

这应该这样做:

  1. Ctrl+A - 全选。
  2. Ctrl+Shift+L - 将选择分成几行。
  3. 然后用 移动所有光标,用left/right选择Shift+left/right。将所有光标移动到行首Home


DrS*_*ork 5

SublimeText 3列选择插件应该是你所需要的.安装它,然后确保在'Default(OSX).sublime-keymap'文件中有类似的内容:

    // 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}}
Run Code Online (Sandbox Code Playgroud)

究竟是什么对你不起作用?


vin*_*ent 5

对于 macOS,您不需要安装任何插件或鼠标。就这样做:- Ctrl+Shift+Down


use*_*542 2

好吧,这是我找到的满足所有要求的最佳解决方案:

  1. 下载Sublime-Text-Advanced-CSV Sublime 插件并安装。
  2. 通过“CSV:设置分隔符”命令为列指定分隔符(默认为“,”)。
  3. 点击“ctrl + s”(或从命令面板中选择),您的列将被选中。

无需任何鼠标交互。