Maoyl's blog Maoyl's blog
首页
  • 前端基础

    • HTML
    • CSS
    • CSS动画
    • JavaScript文章
    • stylus
  • 性能优化

    • 《性能优化》笔记
  • 学习笔记

    • 《JavaScript教程》笔记
    • 《JavaScript高级程序设计》笔记
    • 《ES6 教程》笔记
    • 《JavaScript设计模式》笔记
    • 《TypeScript 从零实现 axios》
    • TypeScript笔记
    • JS设计模式总结笔记
  • 前端框架

    • Vue相关
    • React相关
  • 前端监控

    • 前端监控简介
  • 学习笔记

    • 《Vue》笔记
    • 《React》笔记
    • 小程序学习笔记
  • 后端基础

    • Nodejs
  • 学习笔记

    • 数据结构
  • 技术文档
  • GitHub技巧
  • 博客搭建
  • 网页性能
  • 学习笔记

    • 《Git》学习笔记
    • 《Vim》学习笔记
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
  • 网站
  • 资源
  • Vue资源
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

maoyln

日日行,不怕千万里
首页
  • 前端基础

    • HTML
    • CSS
    • CSS动画
    • JavaScript文章
    • stylus
  • 性能优化

    • 《性能优化》笔记
  • 学习笔记

    • 《JavaScript教程》笔记
    • 《JavaScript高级程序设计》笔记
    • 《ES6 教程》笔记
    • 《JavaScript设计模式》笔记
    • 《TypeScript 从零实现 axios》
    • TypeScript笔记
    • JS设计模式总结笔记
  • 前端框架

    • Vue相关
    • React相关
  • 前端监控

    • 前端监控简介
  • 学习笔记

    • 《Vue》笔记
    • 《React》笔记
    • 小程序学习笔记
  • 后端基础

    • Nodejs
  • 学习笔记

    • 数据结构
  • 技术文档
  • GitHub技巧
  • 博客搭建
  • 网页性能
  • 学习笔记

    • 《Git》学习笔记
    • 《Vim》学习笔记
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
  • 网站
  • 资源
  • Vue资源
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 简介

  • vim

    • 起步
    • 相关命令的知识
    • 认识vim语法
    • 删改重做命令提升效率
    • 认识可视化模式
    • 什么是文本对象
    • 快速移动
    • 掌握搜索命令
      • 行内搜索
      • 全局搜索
    • vim-easymotion
    • 数字与'.'的威力
    • 多文件跳转
    • vim-surround
    • 字符替换和多文本选中
    • 大小写、注释与提示
    • 窗口管理大法
    • 快速删除一个函数
    • vim的宏操作
    • 调用vscode命令
  • vscode

  • 《Vim》学习笔记
  • vim
maoyln
2022-06-12
目录

掌握搜索命令

# 百发百中:掌握搜索命令

有一天,你终于厌倦了 h j k l 在字里行间移动,厌倦了 w b e 在 屎山 代码中半天跳不到头;你在想,有没有一种方法,可以像东风-41导弹一样指哪打哪,快速去到 同事们写的垃圾 代码中;

恭喜你,你找到了!

今天,我们就来学习搜索命令,打破你的困境。

# 行内搜索

通常我们在一行代码中时,有可能需要这里编辑一下那里编辑一下,虽然之前讲过的移动光标的命令也基本够用了,但可能在某些情况下,代码比较长之类的,可能用行内搜索命令是不错的方式。

  • f + 字符:自左往右移动光标到下一个匹配的字符中
  • F + 字符:自右往左移动光标到下一个匹配的字符中
  • t + 字符:自左往右移动光标到下一个匹配的字符的前一个字符中
  • T + 字符:自右往左移动光标到下一个匹配的字符的后一个字符中
  • ;:重复执行上一个搜索命令
  • ,: 与上一个命令方向相反地执行上一个搜索命令

使用技巧

普通移动光标的时候使用 f F,配合 c d v 这些操作时使用 t T,如:

this is a simple easy vim tutorial.

如果我们光标在句首,需要跳到 easy 这个单词的字母 e,则直接 fe;即可(因为 fe 会跳到 simple 的 e,所以需要用 ; 再执行一遍 fe);

而假如我们需要删除 easy 单词前的内容,则可以使用 d2te ,则句子就变成:

easy vim tutorial.

这里的 2te 是指使用 te 这个指令时的第二个结果,因为上面那句话有两个字母 e,我们要匹配第二个,所以在这个指令前加上数字 2,指令 f 也同理。

# 全局搜索

在日常开发中,我们用得最多的搜索其实是全局搜索,尤其是在查看一些变量、函数调用情况的时候,而 vim 也提供了方便的全局搜索:

  • 向前查找:/ + 字符 + enter
  • 向前查找:? + 字符 + enter
  • 查看搜索历史:/ + 上下方向键

使用技巧

使用 / ? 查找时不需要输入要搜索的完整文本,就输入前面几个字符就可以了;而且这两个搜索命令是大写不敏感的,比如输入 /ula,都可以匹配到ULA和ula;这种特性下,如果我们搜索一个变量,如text,会匹配到TextTEXT` 等单词,所以这两个命令是模糊搜索。

在大多数情况下,其实我们更需要的是精确搜索,这时我们可以把光标移到我们需要搜索的单词上,然后按下以下命令:

  • 向上查找:#
  • 向下查找:*

这样就可以愉快地搜索了;我们还可以使用:

  • n:跳到下一个结果
  • N:跳到上一个结果

然后就可以快速查看搜索的结果了,完全不输 vscode 自带的搜索。

编辑 (opens new window)
#Vim
上次更新: 2025/04/18, 01:42:12
快速移动
vim-easymotion

← 快速移动 vim-easymotion→

最近更新
01
GSAP动画库——如何高效写动画
04-17
02
自适应方案PxToRem
09-10
03
性能优化-requestAnimationFrame
08-10
更多文章>
Theme by Vdoing | Copyright © 2019-2025 备案号:京ICP备19058102号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式