Sublime text 2,ctrl + d无法按预期工作

时间:2013-06-04 08:38:18

标签: linux sublimetext2

似乎“快速添加下一个”和“将选择扩展到单词”都映射到相同的键绑定。

我不确定如何覆盖/更改'扩展选择到单词',因为我无法找到这两个操作的当前键绑定。

有谁知道这两个动作的名称是什么?

为了澄清,我们说我有以下代码块

this.GRID_TOP = 10;
this.GRID_SPACING = 10;
this.GRID_HEIGHT = 10;
this.GRID_WIDTH = 10;

我想在每一行上选择'GRID'字符串。我可以使用 alt + F3 ,但这太过分了。我想选择'GRID',然后按 ctrl + D 选择后续匹配。我的问题是它工作一次(选择前两个)但随后将两个游标扩展到他们的单词结尾。由于选择现在不同,我无法“快速添加下一个”。

2 个答案:

答案 0 :(得分:6)

错误条件和效果

这似乎是一个错误,或者至少只是在搜索栏打开时(按 ctrl + F 等)后才会发生的不直观行为您在“查找”字段中选择了一个不是字符串的单词部分(例如,您之前搜索过TOP,然后选择了GRID)。

该错误似乎是由于find_under_expand在搜索时的特定行为。在搜索模式下,它将在第一次调用时填充查找字段,整个单词位于插入符号下,然后开始查找并向选择中添加更多实例。但它有一些不一致之处。例如,如果您依次单击不同的单词,则在每次单击后按 ctrl + D ,它将始终用单词填充“查找”字段,但是或者不突出显示该词并突出显示它。

当你选择一个子词时,它会变得更糟,只有当你第一次按 ctrl + D 时才会突出显示下一个子词。以下时间,您将混合使用 fill查找字段光标转到单词扩展选择(一种有意义的行为)单个且完整的单词),导致选择前两个单词,第二个单词(GRID_SPACING)填充查找字段。

解决方法

解决方案1 ​​

使用 esc 关闭搜索栏,然后反复使用 ctrl + D / Find > Quick Add Next 。请注意,选择不会突出显示为搜索字符串(默认主题中为黄色),而是仅作为正常选择突出显示(默认主题中为灰色)。

解决方案2

如果在您的第​​一个 ctrl + D 之后,您意识到您的搜索栏已打开(并且“查找”字段之前未包含您的目标子词),这还不算太晚。按 ctrl + U / Edit > Undo Selection > Soft Undo返回所选的原始子词。从这里开始,反复使用 ctrl + D 。使用包含目标子词的“查找”字段,选择将按预期运行。

答案 1 :(得分:2)

转到偏好设置>密钥绑定 - 用户

放下以下行并保存文件:

{ "keys": ["ctrl+d"], "command": "find_under_expand" },
{ "keys": ["ctrl+k"], "command": "find_under_expand_skip" },
{ "keys": ["ctrl+alt+d"], "command": "dpaste"}

它对我有用。我已经安装了DPaste包。这就是为什么我不得不用最后一行覆盖它的快捷方式。 Dpaste默认带有 ctrl + d

希望有所帮助