Vim 匹配跳转与搜索命令完整学习笔记
文章目录
Vim 匹配跳转与搜索命令完整学习笔记1. 括号/结构匹配`%` - 括号匹配跳转`[[` / `]]` - 函数定义跳转`[{` / `]}` - 代码块边界跳转
2. 精确单词搜索`*` - 向下精确搜索`#` - 向上精确搜索
3. 模糊单词搜索`g*` - 向下模糊搜索`g#` - 向上模糊搜索
4. 手动查找`/word` - 向下搜索`?word` - 向上搜索`n` / `N` - 重复搜索
5. 标签跳转(需要 ctags)`Ctrl-]` - 跳转到定义`Ctrl-t` - 返回上一位置
6. 标记跳转设置标记 - `m{a-z}`跳转到标记
快速参考表使用技巧
本指南汇总了 Vim 中最常用的匹配、跳转和搜索命令,帮助您快速定位代码和高效导航。
1. 括号/结构匹配
% - 括号匹配跳转
功能: 跳转到匹配的括号 ()、{}、[]使用方法: 将光标放在任意括号上,按 % 可跳转到对应的另一端适用场景: 快速检查括号配对,定位代码块边界
[[ / ]] - 函数定义跳转
[[ : 跳转到上一个函数定义或代码块起始]] : 跳转到下一个函数定义或代码块起始适用场景: 在大文件中快速浏览函数结构
[{ / ]} - 代码块边界跳转
[{ : 跳转到当前代码块起始位置]} : 跳转到当前代码块结束位置备注: 需要配合 matchit 插件使用,可与 if、for 等代码块跳转
2. 精确单词搜索
* - 向下精确搜索
功能: 向下查找光标下的完整单词使用方法: 将光标放在单词上按 *等效操作: /\
# - 向上精确搜索
功能: 向上查找光标下的完整单词使用方法: 将光标放在单词上按 #备注: 与 * 搜索方向相反
3. 模糊单词搜索
g* - 向下模糊搜索
功能: 向下查找包含该单词的部分匹配使用示例: 光标在 log 上按 g*,可匹配 logger、logfile、catalog 等适用场景: 查找相关变量或函数名
g# - 向上模糊搜索
功能: 向上查找包含该单词的部分匹配备注: 类似 g* 但搜索方向向上
4. 手动查找
/word - 向下搜索
功能: 向下搜索指定字符串使用示例: 输入 /main 后按回车,查找 “main”提示: 支持正则表达式
?word - 向上搜索
功能: 向上搜索指定字符串使用方法: 类似 /,但搜索方向向上
n / N - 重复搜索
n: 重复上一次搜索(同方向)N: 反方向重复上一次搜索常用场景: 连续查找多个匹配项
5. 标签跳转(需要 ctags)
Ctrl-] - 跳转到定义
功能: 跳转到标签(函数/变量定义)前提条件: 需要生成 ctags 文件使用方法: 将光标放在函数名上按 Ctrl-]
Ctrl-t - 返回上一位置
功能: 跳回上一个标签位置作用: 相当于"返回"功能,可多次使用
6. 标记跳转
设置标记 - m{a-z}
功能: 在当前位置设置一个字母标记使用示例: ma 表示在当前位置设置标记 a范围: 可使用 a-z 共26个标记
跳转到标记
'a: 跳转到标记 a 所在行(单引号)``a` : 精确跳转到标记位置,包括列(反引号)区别: 单引号跳到行首,反引号跳到确切的光标位置
快速参考表
类别命令功能描述使用示例 / 备注括号/结构匹配%跳转到匹配括号(),{},[]在括号上按%可跳转另一端[[/]]上/下一个函数定义或代码块起始适用于函数块快速跳转[{/]}跳转到当前代码块起始/结束(配合 matchit)可配合if,for块跳转精确单词搜索*向下查找光标下完整单词在单词上按*,等同于/word
使用技巧
组合使用: 可以将搜索命令与其他 Vim 命令组合,如 d/pattern 删除到匹配位置搜索历史: 按 / 或 ? 后,可用上下箭头查看搜索历史高亮设置: 使用 :set hlsearch 开启搜索结果高亮忽略大小写: 使用 :set ignorecase 进行大小写不敏感搜索标记管理: 大写字母标记(A-Z)可跨文件使用
提示:这些命令是 Vim 导航的核心,熟练掌握后可大幅提高代码编辑效率。