Sublime Text 2多行编辑


147

我想编辑多行以及该行中的每个“单词”。例如:

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

我想在所有行中选择每个整数,并在其前面放一个“ 0x”,这样看起来像:

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

我知道Ctrl+ shift+ L可以使光标位于每一行上,但是如何使光标位于每个数字的前面以同时进行批量编辑呢?


回答这个问题可能为时已晚,但是这里是一个链接,您可以在其中找到问题的答案。sublimetext.com/docs/3/…–
亚历山大(Alexander)

Answers:


282

突出显示行并使用:

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

然后,您可以将光标移至您的心脏内容,并立即编辑所有行。

在“选择”菜单中也称为“拆分为行”。


是的,但是我如何也可以一次编辑行中的每个数字?就像我只做第一行一样,我可以一次编辑第一行中的每个数字吗?如果那有任何意义
Syperus

您不能-您只能将光标放在任何给定行的某个位置。但是您可以将其移至行首,添加0x,使用alt>沿一个单词移动,然后再次添加0x。
Owen

28
事实并非如此-一行中可以有任意数量的游标。您需要做的就是Ctrl-click(在Windows中)放置它们。
MattDMo 2014年

3
@MattDMo是的!那正是我想要的。您是否偶然知道这样选择所有键盘的快捷键?我会环顾四周,看看是否可以找到它。
Syperus

当我使用Ctrl+ Shift+时L,它将选择所有行,但是每行上的光标位于该行的开头或结尾。如果我再按向左箭头,试图使所有光标返回到每行的开头,则会将光标相对于它们所在的位置向后移动,因此它们仍不会均匀地位于行中的同一位置。我如何在行首获取所有光标?(对于上下文,我只是想[space]*[space]在每行的开头添加)。
user1063287

84

使用多个光标和列选择。

在您的情况下,您只需要将光标放在包含“单词”的每一列的开头。

Linux和Windows

  • 单击并拖动以选择列:Shift+RightMouseBtn
  • 通过单击并拖动,将其他列添加到选择中:Ctrl+ Shift+RightMouseBtn
  • 从选择中减去列:Alt+ Shift+RightMouseBtn
  • 添加单个游标:Ctrl+LeftMouseBtn
  • 删除单个游标:Alt+LeftMouseBtn

苹果电脑

  • 单击并拖动以选择列:Option⌥+LeftMouseBtn
  • 通过单击并拖动,将其他列添加到选择中:Option⌥+LeftMouseBtn
  • 从选择中减去列:Cmd⌘+ Option⌥+ shift+LeftMouseBtn
  • 添加单个游标:Cmd⌘+LeftMouseBtn
  • 删除单个游标:Cmd⌘+ Option⌥+ shift+LeftMouseBtn

然后根据需要进行编辑。在你的情况,键入0x

您还可以根据需要导航到单词的结尾或开头,选择单词并用引号或括号括起来,依此类推。


参考文献:



3

我不确定是否有可能“开箱即用”。而且,不幸的是,我也不知道合适的插件。为了解决该问题,您建议您可以使用正则表达式。

  1. Cmd + F(查找)
  2. 正则表达式:([^ ]+\d+,或您喜欢的任何一种)
  3. Option + F(查找全部)
  4. 编辑它

热键可能会因您的操作系统和个人喜好而异(我的操作系统是OS X)。


无需插件。对于Linux,最后使用Alt + Enter。
elomage 2014年

2

我在Linux上遇到了同样的问题,我要做的是选择所有内容(ctrl-A),然后按ctrl + shift + L,它在每一行上都提供了一个光标,然后您可以将相似的内容添加到每一列中。

您也可以执行其他操作,例如按列剪切,复制和粘贴。

PS:-如果要从文本中选择矩形数据集,则还可以按住Shift键并按住鼠标右键,然后以矩形方式选择数据。然后按CTRL + SHIFT + L使光标在每一行上。



2

在Windows上,我更喜欢Ctrl+ Alt+ Down

它一一选择行,并自动启动多行编辑器模式。这样有点快。如果要编辑的行很多,则选择文本和Ctrl+ Shift+ L是更好的选择。



-1

可以像示例中那样,为一组较小的数字手动选择每个数字,但是对于较大的集合,您可以进行正则表达式搜索,从而为您完成工作。

Ctrl+ F将打开搜索栏。

单击最左侧的“。*”按钮可启用正则表达式搜索。

键入“ \ d +”以搜索所有出现的1个或多个数字。单击“查找全部”按钮将分别选择每个数字。

然后,您可以使用Ctrl+ Shift+ L将选择转换为多个光标。从这里您可以随心所欲。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.