如何在复制/ ctrl-f /粘贴中搜索当前文件中的选定文本?
为澄清起见: Ultraedit具有此行为。按下F3
并且没有选定的文本时,它将执行最后一个搜索,如果有选定的文本,则它将在当前文件中搜索选定的文本。
答案 0 :(得分:2)
答案 1 :(得分:0)
我找到了想要的东西。
Ctrl+D
触发操作向下次查找匹配项添加选择,该操作恰好满足了我的期望:立即搜索选定的文本,就像在Ultraedit中F3
一样。
答案 2 :(得分:0)
Ultraedit-way 搜索是我最喜欢的,它真的很方便:一个“F3”键可以处理所有。
Ctrl+D
的缺点是:它不能环绕搜索。
明确地说,Ultraedit-way search的定义是: 当按下 F3 并且没有选定的文本时,它执行最后一次搜索,如果有选定的文本,则它在当前文件中搜索选定的文本。
这是绝对 100% 兼容 Ultraedit 方式搜索的解决方案:
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"
},