如果我在我的代码中选择了一个变量(不仅仅是任何字符串),该变量的所有其他实例都会在它们周围得到一个笔画(白色轮廓):

是否有一个快捷键可以让我选择变量的所有实例并一次编辑它们?


我尝试过的事情:

⌘D,⌘K和⌘U让我一个接一个地选择它们,但我必须手动排除非变量字符串匹配:

使用Ctrl⌘G简单地选择所有匹配的字符串:

显然,Sublime能够区分变量和字符串匹配。是否没有办法只选择匹配的变量?


当前回答

神奇的是,你必须从一个空的选区开始,所以把你的光标放在你想要多选的单词/字符前面,然后按Ctrl+D。

其他回答

@watsonic提到,在macOS上的Sublime Text 3中,从一个空选择开始,简单地⌃⌘G (Windows上的AltF3)就可以了,而不是Sublime Text 2中的⌘D +⌃⌘G。

神奇的是,你必须从一个空的选区开始,所以把你的光标放在你想要多选的单词/字符前面,然后按Ctrl+D。

尽管做了很多努力,但我还没有找到一种内置或插件辅助的方法来完成您正在尝试做的事情。我完全同意这应该是可能的,因为当你第一次突出显示foo时,程序可以区分foo和buffoon,但似乎没有人知道如何做到这一点。


然而,以下是Sublime Text 2中一些有用的选择单词的关键组合:

Ctrl⌘G -选择当前单词的所有出现(Windows/Linux上的AltF3)

⌘D -选择当前单词的下一个实例(CtrlD)

⌘K,⌘D -跳过当前实例并继续选择下一个实例(CtrlK,CtrlD) ⌘U -“软撤销”,移动回之前的选择(CtrlU)

⌘E,⌘H -使用当前选择作为查找和替换中的“查找”字段(CtrlE,CtrlH)

对我来说,这是Sublime最大的错误。Alt+F3很难达到/记住,Ctrl+Shift+G没有意义,因为Ctrl+D是“添加下一个实例到选择”。

将此添加到用户密钥绑定(首选项>密钥绑定):

{ "keys": ["ctrl+shift+d"], "command": "find_all_under" },

现在你可以高亮显示一些东西,按Ctrl+Shift+D,它会将文件中的所有其他实例添加到选择中。

此时,2020-10-17,如果您选择一个文本元素并按CTRL+SHIFT+ALT+M,它将突出显示代码块中的每个实例。