如果我在我的代码中选择了一个变量(不仅仅是任何字符串),该变量的所有其他实例都会在它们周围得到一个笔画(白色轮廓):
是否有一个快捷键可以让我选择变量的所有实例并一次编辑它们?
我尝试过的事情:
⌘D,⌘K和⌘U让我一个接一个地选择它们,但我必须手动排除非变量字符串匹配:
使用Ctrl⌘G简单地选择所有匹配的字符串:
显然,Sublime能够区分变量和字符串匹配。是否没有办法只选择匹配的变量?
如果我在我的代码中选择了一个变量(不仅仅是任何字符串),该变量的所有其他实例都会在它们周围得到一个笔画(白色轮廓):
是否有一个快捷键可以让我选择变量的所有实例并一次编辑它们?
我尝试过的事情:
⌘D,⌘K和⌘U让我一个接一个地选择它们,但我必须手动排除非变量字符串匹配:
使用Ctrl⌘G简单地选择所有匹配的字符串:
显然,Sublime能够区分变量和字符串匹配。是否没有办法只选择匹配的变量?
尽管做了很多努力,但我还没有找到一种内置或插件辅助的方法来完成您正在尝试做的事情。我完全同意这应该是可能的,因为当你第一次突出显示foo时,程序可以区分foo和buffoon,但似乎没有人知道如何做到这一点。
然而,以下是Sublime Text 2中一些有用的选择单词的关键组合:
Ctrl⌘G -选择当前单词的所有出现(Windows/Linux上的AltF3)
⌘D -选择当前单词的下一个实例(CtrlD)
⌘K,⌘D -跳过当前实例并继续选择下一个实例(CtrlK,CtrlD) ⌘U -“软撤销”,移动回之前的选择(CtrlU)
⌘E,⌘H -使用当前选择作为查找和替换中的“查找”字段(CtrlE,CtrlH)
将光标放到变量中。 注意:关键是从一个空的选择开始。不突出;把光标放在这里。
根据需要按⌘D。不是在Mac上?使用CtrlD。
没有工作吗?再试一次,确保开始时没有选择任何内容。
更多的命令:
查找全部:Ctrl⌘G一次选择所有出现。不是在Mac上?AltF3 撤消选择:⌘U后退。不是在Mac上?CtrlU 快速跳过下一步:⌘K⌘D跳过下一个事件。不是在Mac上?CtrlKCtrlD 崇高的文档
正如user1767754所说,这里的关键是一开始不要做任何选择。
只需将光标放在变量名内,不要双击选择它。对于单字符变量,将光标放置在变量的前面或末尾,以在开始时不进行任何选择。
现在继续按Cmd+D选择下一个变量或按Ctrl+Cmd+G选择所有变量一次。它会神奇地只选择变量。
对我来说,这是Sublime最大的错误。Alt+F3很难达到/记住,Ctrl+Shift+G没有意义,因为Ctrl+D是“添加下一个实例到选择”。
将此添加到用户密钥绑定(首选项>密钥绑定):
{ "keys": ["ctrl+shift+d"], "command": "find_all_under" },
现在你可以高亮显示一些东西,按Ctrl+Shift+D,它会将文件中的所有其他实例添加到选择中。
@watsonic提到,在macOS上的Sublime Text 3中,从一个空选择开始,简单地⌃⌘G (Windows上的AltF3)就可以了,而不是Sublime Text 2中的⌘D +⌃⌘G。