如何搜索选定的文本?
How to do a search for the selected text?
如何在当前文件中搜索选定的文本而无需 复制/ctrl-f/粘贴?
澄清一下: Ultraedit 有这种行为。当按下 F3
并且没有选定的文本时,它会执行最后一次搜索,如果有选定的文本,那么它会在当前文件中搜索选定的文本。
启用 editor.find.seedSearchStringFromSelection
设置,如下所示。这将导致在您按 ctrl+f 时自动搜索突出显示的文本。
我找到了我要找的东西。
Ctrl+D
触发操作 Add Selection To Next Find Match 这正是我想要的:立即搜索所选文本,就像 F3
在 Ultraedit 中。
Ultraedit-way搜索是我的最爱,真的很方便:一个'F3'键可以搞定所有。
Ctrl+D
的缺点是:它不能 环绕搜索。
说明一下,Ultraedit方式搜索的定义是:
当按下 F3 并且没有选定的文本时,它会执行最后一次搜索,如果有选定的文本,那么它会在当前文件中搜索选定的文本。
这里是绝对100%兼容Ultraedit方式搜索的解决方案:
- 选中文本后,执行 nextSelectionMatchFindAction
- 当没有文本被选中时,执行 nextMatchFindAction
- 单个
F3
执行上述两种操作。
Shift+F3
保持原样:查找上一个
因此keybindings.json
可以添加下面几行来禁用原来的F3
和Ctrl+F3
函数,并添加两个新的F3
文本选中和不选中的函数。
{
"key": "f3",
"command": "editor.action.nextSelectionMatchFindAction",
"when": "editorFocus && editorHasSelection"
},
{
"key": "ctrl+f3",
"command": "-editor.action.nextSelectionMatchFindAction",
"when": "editorFocus"
},
{
"key": "f3",
"command": "editor.action.nextMatchFindAction",
"when": "editorFocus && !editorHasSelection"
},
{
"key": "f3",
"command": "-editor.action.nextMatchFindAction",
"when": "editorFocus"
}
还有一件事需要解决:
当按下 F3
时,会出现搜索对话框并突出显示每个匹配的文本,您可以在搜索完成后按 ESC
关闭搜索对话框。
更新@2021/1/25
如果有人希望 Shift+F3
像 F3
一样聪明,请将以下行添加到 keybindings.json
:
{
"key": "shift+f3",
"command": "editor.action.previousSelectionMatchFindAction",
"when": "editorFocus && editorHasSelection"
},
{
"key": "shift+f3",
"command": "editor.action.previousMatchFindAction",
"when": "editorFocus && !editorHasSelection"
},
{
"key": "shift+f3",
"command": "-editor.action.previousMatchFindAction",
"when": "editorFocus"
},
如何在当前文件中搜索选定的文本而无需 复制/ctrl-f/粘贴?
澄清一下: Ultraedit 有这种行为。当按下 F3
并且没有选定的文本时,它会执行最后一次搜索,如果有选定的文本,那么它会在当前文件中搜索选定的文本。
启用 editor.find.seedSearchStringFromSelection
设置,如下所示。这将导致在您按 ctrl+f 时自动搜索突出显示的文本。
我找到了我要找的东西。
Ctrl+D
触发操作 Add Selection To Next Find Match 这正是我想要的:立即搜索所选文本,就像 F3
在 Ultraedit 中。
Ultraedit-way搜索是我的最爱,真的很方便:一个'F3'键可以搞定所有。
Ctrl+D
的缺点是:它不能 环绕搜索。
说明一下,Ultraedit方式搜索的定义是: 当按下 F3 并且没有选定的文本时,它会执行最后一次搜索,如果有选定的文本,那么它会在当前文件中搜索选定的文本。
这里是绝对100%兼容Ultraedit方式搜索的解决方案:
- 选中文本后,执行 nextSelectionMatchFindAction
- 当没有文本被选中时,执行 nextMatchFindAction
- 单个
F3
执行上述两种操作。 Shift+F3
保持原样:查找上一个
因此keybindings.json
可以添加下面几行来禁用原来的F3
和Ctrl+F3
函数,并添加两个新的F3
文本选中和不选中的函数。
{
"key": "f3",
"command": "editor.action.nextSelectionMatchFindAction",
"when": "editorFocus && editorHasSelection"
},
{
"key": "ctrl+f3",
"command": "-editor.action.nextSelectionMatchFindAction",
"when": "editorFocus"
},
{
"key": "f3",
"command": "editor.action.nextMatchFindAction",
"when": "editorFocus && !editorHasSelection"
},
{
"key": "f3",
"command": "-editor.action.nextMatchFindAction",
"when": "editorFocus"
}
还有一件事需要解决:
当按下 F3
时,会出现搜索对话框并突出显示每个匹配的文本,您可以在搜索完成后按 ESC
关闭搜索对话框。
更新@2021/1/25
如果有人希望 Shift+F3
像 F3
一样聪明,请将以下行添加到 keybindings.json
:
{
"key": "shift+f3",
"command": "editor.action.previousSelectionMatchFindAction",
"when": "editorFocus && editorHasSelection"
},
{
"key": "shift+f3",
"command": "editor.action.previousMatchFindAction",
"when": "editorFocus && !editorHasSelection"
},
{
"key": "shift+f3",
"command": "-editor.action.previousMatchFindAction",
"when": "editorFocus"
},