移除Editor:WordSeparators中$后,VSCode Vim的*搜索无法匹配整词
解决方案:让VSCode Vim搜索PHP变量时匹配整词
方法1:启用Vim扩展的整词搜索设置
在VSCode的settings.json中添加以下配置:
"vim.search.fullWord": true
启用后,按*或#搜索当前光标下的单词时,会自动应用整词匹配规则,只会匹配完全相同的PHP变量(比如$foo不会匹配$foobar)。
方法2:自定义*键的映射(更灵活)
如果需要更精细的控制,可以在keybindings.json中重新定义*的行为,强制搜索时添加Vim的整词边界标记\<和\>:
[ { "key": "*", "command": "vim.executeNormal", "args": {"command": "*\\<\\>"}, "when": "editorTextFocus && vim.mode == 'Normal'" } ]
这个映射会让*命令在搜索当前单词时,自动加上整词边界,确保只有完全匹配的变量才会被选中。
额外验证:确认单词分隔符设置
确保你已经正确修改了editor.wordSeparators,移除了$,避免PHP变量被拆分:
"editor.wordSeparators": "`~!@%^&*()-=+[{]}\\|;:'\",.<>/?",
(注意字符串中没有$,确保$被识别为单词的一部分)
内容的提问来源于stack exchange,提问作者Dan Schmidt
相关产品推荐
相关产品推荐

