键可快速查找光标所在单词的下一个匹配项,# 向上查找;g 和 g# 支持子串匹配;配合 hlsearch、incsearch 及 iskeyword 设置可提升追踪效率;标记(如 ma)与反引号(`a)支持双向跳转。

直接按 * 键即可查找光标所在单词的下一个匹配项,这是 Vim 最常用、最高效的单词追踪方式。
用 * 和 # 快速跳转到同词位置
* 向下查找光标下完整单词的下一个匹配(默认忽略大小写需配合 ignorecase 设置);# 则向上查找前一个匹配。Vim 会自动把光标所在位置的连续字母数字字符串(由 iskeyword 定义)作为搜索模式,无需手动输入。
- 确保光标停在目标单词内部任意位置(不必开头),再按 *
- 重复按 n 继续向下找下一个,按 N 反向跳转
- 若想区分大小写,可临时关闭
:set noignorecase,或在搜索前加\C(如/\Cword)
用 g* 和 g# 匹配更宽松的词形
g* 和 g# 的行为类似 * 和 #,但不强制要求单词边界 —— 它们会在当前单词的子串(如包含该单词的更长标识符)中也匹配。适合调试时追踪变量名嵌套场景(比如光标在 err 上,g* 也能匹配 error_handler)。
- 当 * 找不到预期结果时,试试 g*
- 它等价于执行了
/\(*)和/word(g*)的区别
配合搜索设置提升追踪体验
让查找更直观:开启高亮与增量搜索能即时看到所有匹配项。
-
:set hlsearch高亮所有匹配结果(按:nohlsearch临时取消) -
:set incsearch输入搜索命令时实时预览(对 * 本身无影响,但对后续手动/很有用) -
:set iskeyword+=-若常处理含连字符的标识符(如user-name),可扩展关键词定义
进阶:用标记 + 搜索组合实现双向回溯
先用 m{a-z}(如 ma)在起点打标记,再用 * 跳转;需要返回时按 `a(反引号 + 标记名)即可瞬移回去。这对阅读长文件、跨函数追踪变量特别实用。
- 标记名区分大小写:
ma和mA是两个独立标记 -
'a(单引号)跳到标记行首,`a(反引号)跳到精确列位置











