neovim vscode 替换光标下的单词

neovim vscode replace word under cursor

我在 vscode 中使用 neo vim 扩展。

我想替换光标下的单词。通常它只是对现有单词的一个小改动,所以我在替换部分提供了它。我的 init.vim

中有以下行

nnoremap ^ :%s/\<<C-r><C-w>\>/<C-r><C-w>/g

当我使用 ^ 调用绑定时,会出现相应的命令,如下图所示。 然而,在按下 return 时,任何更改都不会生效。如果我通过粘贴或键入将相同的命令放入命令 window 中并点击 return,那么它将起作用。

这个映射对我也不起作用,但我找到了一个解决方法:

nnoremap <leader>sr :<C-u>call VSCodeNotify('actions.find', { 'query': expand('<cword>')})<CR>

所以 ,sr 打开快速查找 window 光标下的单词。然后你还必须按 Ctrl-h 来获取替换字段。 不幸的是,与 editor.action.startFindReplaceAction 相同的方法不起作用。

同样适用于 workbench.action.findInFiles 但不适用于 workbench.action.ReplaceInFiles

{
    "before": ["<Space>","s","r"],
    "after": ["*",":", "%","s","/","/"]
},

这对我在 VSCode

中使用常规 vim 有效