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

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


我尝试过的事情:

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

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

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


当前回答

正如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。

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

为了防止其他人在寻找跨多个文件替换字符串的方法时偶然发现这个问题,它是Command+Shift+F

正如user1767754所说,这里的关键是一开始不要做任何选择。

只需将光标放在变量名内,不要双击选择它。对于单字符变量,将光标放置在变量的前面或末尾,以在开始时不进行任何选择。

现在继续按Cmd+D选择下一个变量或按Ctrl+Cmd+G选择所有变量一次。它会神奇地只选择变量。