假设我们有一个包含以下内容的文件:
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=> 进入插入模式
任务完成 :)