You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Vim中搜索光标下单词且不移动光标?

解决Vim搜索光标下单词不移动光标的问题

哈哈,这个痛点我太懂了!每次按*搜索完还要跳回来,确实麻烦。给你几个实用的解决方案,完美解决这个问题:

方法一:自定义快捷键,直接设置搜索模式不跳转

在你的~/.vimrc(或者init.vim,如果你用Neovim)里添加以下映射:

nnoremap <silent> <Leader>* :let @/='\<'.expand('<cword>').'\>'<CR>
nnoremap <silent> <Leader># :let @/='\<'.expand('<cword>').'\>'<CR>:set hlsearch?<CR>
  • <Leader>*是你可以自定义的快捷键(比如换成<F3>之类的),按下后会把光标下的完整单词设为当前搜索模式,同时光标完全不动
  • \<和\>是单词边界符号,确保只匹配完整单词,避免部分匹配的情况
  • 如果你的Vim开启了hlsearch,所有匹配项会自动高亮,不用额外操作

方法二:直接在替换命令里引用光标下的单词

其实你想要的* :.,+5s/foo/bar/g操作,完全可以一步完成,根本不需要先搜索!在命令行模式下输入:

:.,+5s/\<<C-r><C-w>\>/bar/g
  • <C-r><C-w>是Vim命令行的快捷键,会直接插入光标下的当前单词
  • 同样用\<和\>确保匹配完整单词,这样你不用离开当前光标位置,就能完成指定范围内的替换

方法三:临时标记位置(应急用)

如果只是偶尔需要,不想改配置,可以先标记当前光标位置:

m'

然后按*搜索,完成操作后再用:

`'

回到之前标记的位置。不过这个方法多了两步,不如前两种高效,适合临时应急。

内容的提问来源于stack exchange,提问作者Oskar Granlund

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:40:12