对于这种情况,我做了以下操作:
输入一个条目Key bindings - User
:
{ "keys": ["alt+s"], "command": "toggle_in_selection", "context":
[
{ "key": "setting.is_widget", "operator": "equal", "operand": true }
]
},
注意:您可以选择其他组合键。
然后,选择要搜索的文本。您可以使用ctrl+L
选择一行,选择您所在的括号内容,或菜单中ctrl+shift+m
列出的任何其他方式,或任何其他方式。Selection
提示:创建新文件,选择文件名User.sublime-commands
并将其存储在存储Packages/User
新插件或用户键绑定的文件夹中。并将此代码段放入该文件中:
[
// Selection Menu
{ "caption": "Selection: Expand to Paragraph", "command": "expand_selection_to_paragraph" },
{ "caption": "Selection: Expand to Scope", "command": "expand_selection", "args": {"to": "scope"} },
{ "caption": "Selection: Expand to Brackets", "command": "expand_selection", "args": {"to": "brackets"} },
{ "caption": "Selection: Expand to Indentation", "command": "expand_selection", "args": {"to": "indentation"} },
{ "caption": "Selection: Expand to Tag", "command": "expand_selection", "args": {"to": "tag"} }
]
它还将菜单中的那些扩展选择选项添加Selection
到命令面板中,因此您不必记住快捷方式。您可以将“标题”更改为最适合您的内容。
选择要搜索的文本后,按ctrl+f
或ctrl+i
(搜索或增量搜索),使用上方的快捷方式,切换“选择中”按钮(搜索栏左侧的第六个按钮,看起来像箭头在垂直条上向右和向下指向)。(可选:按 alt+w 切换“whole-words”按钮(看起来像引号),以防您想匹配 free 2
in foo(2,42,23,2,2)
,而不匹配2
in 42
)。调整选择后,alt+enter
选择所有匹配项-> 完成。
你不必写你要搜索的东西,你可以先选择它然后按ctrl+e
(“slurp_find_string”命令)把它放在搜索栏中,稍后打开搜索栏它就会在那里。
所以整个过程是这样的:
- (可选)
ctrl+e
在您要搜索的选定文本上,因此您不必稍后再编写
- 使用任何方式选择您要搜索的所有文本
ctrl+f
或者ctrl+i
打开一个搜索栏,如果你没有做 1.,写下你搜索的内容
- 如果未切换,则在选择中切换,如果需要,切换整个单词
- 找到所有,
alt+enter
你就完成了
一开始听起来有点复杂,但是一旦你做了 10 次,整个过程(除了第 2 步)不会花费你超过一秒钟的时间。另外,如果你调整一些崇高的设置,你可以让它为你自动切换一些东西,例如在任何选择时自动 ctrl+e,或者在你打开带有打开选择的搜索栏时自动切换选择。
注意:如果您使用 mac 或 windows,您的快捷方式可能会有所不同。
希望对您有所帮助,如果有什么不清楚的地方,请多问...
编辑:我玩了一段时间的关键设置,最后得到了这个:
// without whole-words
{ "keys": ["ctrl+space", "f"], "command": "show_panel", "args": {"panel": "incremental_find", "reverse":false, "in_selection": false, "whole_word": false}, "context":
[
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }
]
},
{ "keys": ["ctrl+space", "f"], "command": "show_panel", "args": {"panel": "incremental_find", "reverse":false, "in_selection": true, "whole_word": false}, "context":
[
{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }
]
},
//with whole-words
{ "keys": ["ctrl+space", "w"], "command": "show_panel", "args": {"panel": "incremental_find", "reverse":false, "in_selection": false, "whole_word": true}, "context":
[
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }
]
},
{ "keys": ["ctrl+space", "w"], "command": "show_panel", "args": {"panel": "incremental_find", "reverse":false, "in_selection": true, "whole_word": true}, "context":
[
{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }
]
},
如果你把它放在某个地方Key bindings - User
,它会给你两个快捷方式,"ctrl+space", "f"
(ctrl+space
第一个,然后是f
,与 类似"ctrl+k", "ctrl+d"
)和"ctrl+space", "w"
. 第一个为您提供禁用全词的增量搜索面板,第二个启用全词。根据您按下快捷方式时是否选择了某些内容,它们都会预先选择选择中的内容。如果您看一下,您应该几乎了解如何根据自己的需求对其进行调整。