当前位置: 首页 > news >正文

Vim 匹配跳转与搜索命令完整学习笔记

Vim 匹配跳转与搜索命令完整学习笔记

文章目录

  • Vim 匹配跳转与搜索命令完整学习笔记
    • 1. 括号/结构匹配
      • `%` - 括号匹配跳转
      • `[[` / `]]` - 函数定义跳转
      • `[{` / `]}` - 代码块边界跳转
    • 2. 精确单词搜索
      • `*` - 向下精确搜索
      • `#` - 向上精确搜索
    • 3. 模糊单词搜索
      • `g*` - 向下模糊搜索
      • `g#` - 向上模糊搜索
    • 4. 手动查找
      • `/word` - 向下搜索
      • `?word` - 向上搜索
      • `n` / `N` - 重复搜索
    • 5. 标签跳转(需要 ctags)
      • `Ctrl-]` - 跳转到定义
      • `Ctrl-t` - 返回上一位置
    • 6. 标记跳转
      • 设置标记 - `m{a-z}`
      • 跳转到标记
    • 快速参考表
    • 使用技巧

本指南汇总了 Vim 中最常用的匹配、跳转和搜索命令,帮助您快速定位代码和高效导航。

1. 括号/结构匹配

% - 括号匹配跳转

  • 功能: 跳转到匹配的括号 (){}[]
  • 使用方法: 将光标放在任意括号上,按 % 可跳转到对应的另一端
  • 适用场景: 快速检查括号配对,定位代码块边界

[[ / ]] - 函数定义跳转

  • [[ : 跳转到上一个函数定义或代码块起始
  • ]] : 跳转到下一个函数定义或代码块起始
  • 适用场景: 在大文件中快速浏览函数结构

[{ / ]} - 代码块边界跳转

  • [{ : 跳转到当前代码块起始位置
  • ]} : 跳转到当前代码块结束位置
  • 备注: 需要配合 matchit 插件使用,可与 iffor 等代码块跳转

2. 精确单词搜索

* - 向下精确搜索

  • 功能: 向下查找光标下的完整单词
  • 使用方法: 将光标放在单词上按 *
  • 等效操作: /\<word\><CR>

# - 向上精确搜索

  • 功能: 向上查找光标下的完整单词
  • 使用方法: 将光标放在单词上按 #
  • 备注: 与 * 搜索方向相反

3. 模糊单词搜索

g* - 向下模糊搜索

  • 功能: 向下查找包含该单词的部分匹配
  • 使用示例: 光标在 log 上按 g*,可匹配 loggerlogfilecatalog
  • 适用场景: 查找相关变量或函数名

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<CR>
#向上查找光标下完整单词*相反方向
模糊单词搜索g*向下查找包含该单词的部分匹配例如g*log匹配loggerlogfile
g#向上查找包含该单词的部分匹配类似g*反方向
手动查找/word向下搜索字符串输入/main后按n重复查找
?word向上搜索字符串类似/,但方向向上
n重复上一次搜索(同方向)常用于连续查找
N反方向重复上一次搜索n方向相反
标签跳转Ctrl-]跳到标签(函数/变量定义),需 ctags光标在函数名上按Ctrl-]跳转定义
Ctrl-t跳回上一个标签位置相当于“返回”功能
标记跳转m{a-z}设置一个字母标记ma表示在当前位置设置标记 a
'a跳到标记 a 所在行单引号跳整行
``a`精确跳到标记位置(包括列)反引号跳到确切光标位置
:delmarks a删除标记 a
:marks查看所有设置的标记

使用技巧

  1. 组合使用: 可以将搜索命令与其他 Vim 命令组合,如 d/pattern 删除到匹配位置
  2. 搜索历史: 按 /? 后,可用上下箭头查看搜索历史
  3. 高亮设置: 使用 :set hlsearch 开启搜索结果高亮
  4. 忽略大小写: 使用 :set ignorecase 进行大小写不敏感搜索
  5. 标记管理: 大写字母标记(A-Z)可跨文件使用

提示:这些命令是 Vim 导航的核心,熟练掌握后可大幅提高代码编辑效率。

相关文章:

  • ios 26官宣:car play升级提升车载体验
  • React---day12
  • SpringBoot自动化部署实战
  • 生成xcframework
  • <7>-MySQL内置函数
  • 51c嵌入式※~电路~合集32~PWM
  • BERT情感分类
  • BERT 位置嵌入机制与代码解析
  • Python 自动化临时邮箱工具,轻松接收验证码,支持调用和交互模式(支持谷歌gmail/googlemail)
  • ffmpeg 新版本转码设置帧率上限
  • 《通信之道——从微积分到 5G》读书总结
  • SkyReels-V1:开启多模态视频生成的新纪元
  • Flutter 多版本管理工具 Puro ,它和 FVM 有什么区别?
  • Flutter:弹窗UI,不带背景色,自定义图片的弹窗
  • 安装 docker-ce 时 错误:缺少container-selinux >= 2:2.74 错误:缺少 libcgroup
  • PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建
  • 零基础学前端-传统前端开发(第二期-HTML介绍与应用)(XSS防御)
  • JxBrowser 8.8.0 版本发布啦!
  • 【HarmonyOS 5】鸿蒙CodeGenie AI辅助编程工具详解
  • 鹰盾加密器系统黑屏问题的深度解析与处理机制
  • 企业网站推广计划书/抖音seo查询工具
  • 建一个门户网站多少钱/燕郊今日头条
  • 用哪个登录网址最好/百度搜索关键词优化
  • 工业设计在线网站/百度总部
  • 中建八局第一建设有限公司设计院/seoshanghai net
  • 为赌博网站做宣传/网站推广途径