在 Sublime Text 中,如何将光标移动到下一个出现的字符?

在 Sublime Text 中,如何将光标移动到下一个出现的字符?

假设我们有一个包含以下内容的文件:

name, job, age
Mark, Specialist, 24
Bob Guy, Manager, 43
Susan Third, Data Generation, 30

我想要做的是浏览字段。移至下一个字段,选择一个字段等。这在 VIM 中很容易通过查找逗号(假设没有转义逗号)完成;在 Sublime Text 中也可以吗?并且以多种光标方式工作,比如说每行开头一个光标?

如果您可以将其扩展为移动到下一个子字符串或正则表达式匹配,则可以获得加分。

答案1

在您的特定用例中,执行隔离每个值的良好搜索是\w[^,\n]+- 确保单击正则表达式按钮或在搜索字段中点击Alt+ R(Windows)/ ++ Cmd( Mac)。OptionR

要导航到下一场比赛,请使用F3(Windows) / Cmd+ G(Mac)。 Shift+ F3/ Cmd+ Shift+G将导航到上一场比赛。点击Esc关闭搜索字段后,您可以继续执行此操作,这将允许您立即编辑所选比赛。

不幸的是,find-next 似乎无法与多个选择共存 - 它最终会突出显示最后一个选择中的第一个匹配项。您可以突出显示多行,然后将选择拆分为几行,然后在一定程度上使用Ctrl(Windows) / Cmd(Mac) +箭头,但当某些值有空格时,这显然会失效。

答案2

一种方法是使用复古模式。

编辑您的偏好设置(例如Settings - User)以不要忽略复古包(它在默认偏好设置中)。

{
    "ignored_packages": []
}

当你有多个光标时,使用 vim 命令f后跟一个字符,将所有光标移动到该字符的下一个位置。(见https://stackoverflow.com/questions/12495442/what-do-the-f-and-t-commands-do-in-vim

不幸的是,这些只能移动到同一行上的字符,没有此字符的行上的光标仍留在它们之前所在的位置。搜索命令/会忘记您的多个光标。

答案3

  • CTRL+ A=> 选择所有文件
  • CTRL+ SHIFT+ L=> 将选择内容拆分为行
  • Home=> 将所有选择移至行首
  • ESC=> 进入命令模式
  • f, ,=> 查找并将每行上的光标移动到第一个分号(重复,直到找到您要查找的分号)
  • i=> 进入插入模式

任务完成 :)

相关内容