行头行尾

回忆上节课内容

  • 上次学了直接跳到开头和结尾
  • 最重要的就是 ^$

    • ^ 到开头
    • $ 到结尾
  • I

    • 相当于^i
  • A

    • 相当于$a

查找帮助

  • 还有什么呢?
  • 还是继续在 motion 里面

    • ^ 、$ 之后找
  • 还是在左右移动这里面发现有个 f
  • 看起来是查找某个字符的样子

查找字符

  • 看起来就像

    • f谁就跳到谁那里
  • 我们来试一下
  • 先下载个素材
#下载素材
git clone http://github.com/overmind1980/vimtutorial.git
# 进入目录
cd vimtutorial
#需要注意这次用无配置文件的方式启动vi
vi -u NONE oeasy.java

行内查找

  • 通过 fo
  • 直接跳到了到了右边邻近的的 o 字符
  • f 的意思是

    • find 查找
    • 并让光标跳跃过去
  • o 的意思是

    • 字符 o
    • 查的不是别的
    • 是字符 o
  • 前面还有 o

    • 想要找下一个咋办?
  • 还能咋办?

    • 查帮助呗!
    • 一定在 f 附近

继续查找

  • 帮助说 ;
  • 可以让查找继续
  • 我们来试试

动手练习

  • 好像真的可以
  • 小拇指直接落下去就可以
  • 查找范围到本行末尾,不能跨行
  • 帮助里,还有个和 ; 配对的 , 是干什么用的?
  • 试试

反向继续查找

  • 中指向下找到 ,
  • 确实可以让他反向
  • 搜索范围还是被限制在了本行
  • 帮助里面还提到的 F 是干什么用的?

反向跳跃

  • F 和 f 一样
  • 都是行内跳跃
  • 但是 F 是反向跳跃

反向跳跃练习

  • 这个时候如果 ;

    • 就是继续反向查找
    • 保持跳跃的方向不变
    • 只要是方向不变就是 ;
    • 保持小拇指的感觉
  • 方向改变的话

    • 就是 ,
    • 体验中指的感觉
  • 帮助里面还提到了 [count]

    • 这个怎么用

跳跃查找

  • 回忆 [count]

    • 这东西是翻子
    • 可以翻倍
    • 3w 就是跳跃3个小词
    • 4j 就是向下4行
  • f 2 o 肯定不行

    • 因为 f 2 查找到 2 字符
    • o 下方插入一个空行,并切换到插入模式
  • 2 f o

    • 找到第 2o
  • ;

    • 保持查找方向不变
    • 继续向前
  • ,

    • 反向查找o
  • 2 ;

    • 保持查找方向不变
    • 向前移动到第 2o
  • 2 ,

    • 反向查找
    • 2o

总结

  • 跳跃

    • 向前跳跃是 f
    • 向后跳跃是 F
  • 继续

    • 保持方向是 ;
    • 改变方向是 ,
  • 可以加上 [count] 来加速
  • 还有什么好玩的吗?
  • 下次再说

oeasy教您玩转vim - 15 - # 行内查找的更多相关文章

  1. oeasy教您玩转vim - 57 - # 行可视化

    ​ 可视化编辑 回忆上节课内容 上次我们了解到可视模式 其实可视化对应三种子模式 字符可视模式 v 行可视模式 大写V 块可视模式ctrl+v 我们先来了解字符可视化模式 快捷键 v 可配合各种mot ...

  2. oeasy教您玩转vim - 56 - # 字符可视化模式

    ​ 可视化编辑 回忆上节课内容 我们学习了关于模式匹配中使用参数 单个参数 :%s/<h2>\(.*\)</h2>/ - \1/g 多个参数 :%s/<img src=\ ...

  3. oeasy教您玩转vim - 53 - # 批量替换

    查找细节 回忆上节课内容 我们温习了关于搜索的相关内容 /正向,?反向 n保持方向,N改变方向 可以设置 是否忽略大写小写 是否从头开始查找 是否高亮显示 还有一些正则表达式的使用方法 行头行尾 ^$ ...

  4. oeasy 教您玩转linux010101查看内核uname

    linux([?l?n?ks]) 是什么????? 咱们这次讲点什么呢?这次咱们讲讲这个 linux([?l?n?ks]),什么是 linux([?l?n?ks])呢?这linux([?l?n?ks] ...

  5. oeasy教您玩转linux010203显示logo

    我们来回顾一下 上一部分我们都讲了什么?

  6. oeasy教您玩转linux010202软件包管理apt

    顾一下 上一部分我们都讲了什么?

  7. oeasy教您玩转linux010201持续输出yes

    我们来回顾一下 上一部分我们都讲了什么?

  8. oeasy教您玩转linux-010110内容回顾

    我们来回顾一下 我们都讲了什么?

  9. oeasy教您玩转linux010108到底哪个which

    到底哪个which 回忆上次内容 我们上次讲了查找命令位置whereis 我想找到whereis的位置怎么办?

  10. oeasy教您玩转linux010107那啥在哪 whereis

    回忆上次内容 上次讲了 ls 的参数 (arguement) 和选项 (option) 的设置. 现在我们要制作这样一个列表:

随机推荐

  1. JSON数据压缩传输(一)- 无标记数组

    服务端 //需要传回前端的字段string[] fields = dto.fields.Split(','); var resluts=new List<dynamic>(); //只取前 ...

  2. Gin 框架的执行流程

    Gin框架是一个用Go语言编写的高性能Web框架,它基于httprouter实现,具有快速.简洁和高效的特性. 以下是Gin框架处理HTTP请求的大致执行流程: 1 初始化Gin引擎: 用户创建一个新 ...

  3. Html简要笔记

    html在线文档: https://www.w3school.com.cn 怎么创建文件我已经会了 1,html快速入门 <!--文档类型说明 注释 --> <!DOCTYPE ht ...

  4. Vue cli传递数据

    Nav组件和Forecast组件都是Home组件的子组件. (1)子组件传递数据给父组件 在子组件中,通过this.$emit('自定义事件名', 参数1,参数2,...)来调用父组件中定义的事件. ...

  5. linux下基于官方源码编译ipopt

    linux下基于官方源码编译ipopt 1.C++依赖项安装升级 由于需要编译c++所以需要安装一系列的依赖: apt-get update apt-get -y upgrade apt instal ...

  6. SpringBoot系列(七) jpa的使用,以增删改查为例

    JPA是Java Persistence API的简称,Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中. 它是SUN公司推出的一套基 ...

  7. Vector + ClickHouse 收集日志

    目前业界的日志生态,最常用的是 ELK,其次就是 ClickHouse,本文会演示如何使用 Vector + ClickHouse 来采集 Nginx 日志并做清洗,最终写入 ClickHouse.至 ...

  8. 使用Wesky.Net.OpenTools包来快速实现嵌套型结构体数据转换功能

    今天遇到有人提到结构体和byte数组互转的问题,我就顺便拿来水一篇.这是一个冷门的问题,估计使用的人不多.既然有需求,应该就有使用场景,那就顺便整一波. 为了达到效果,结构体.复杂结构体嵌套等都能实现 ...

  9. [TinyRenderer] Chapter1 p3 Line

    (注:本小节不是对划线算法事无巨细的证明,如果你需要更加系统的学习,请跳转至文末的参考部分) 如果你是一名曾经学习过图形学基础的学生,那么你一定对画线算法稔熟于心,中点划线算法,Bresenham算法 ...

  10. Java设计模式-责任链模式,应用接口多个参数验证,订单多个费用的计算

    Java设计模式-责任链模式,应用接口多个参数验证,订单多个费用的计算 1.定义请求和返回对象的上下文对象 package com.example.core.mydemo.java.filter; i ...