oeasy教您玩转vim - 15 - # 行内查找
行头行尾
回忆上节课内容
- 上次学了直接跳到开头和结尾
最重要的就是
^
、$
- ^ 到开头
- $ 到结尾
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 下方插入一个空行,并切换到插入模式
- 因为 f 2 查找到
2 f o
- 找到第
2
个o
- 找到第
;
- 保持查找方向不变
- 继续向前
,
- 反向查找
o
- 反向查找
2 ;
- 保持查找方向不变
- 向前移动到第
2
个o
2 ,
- 反向查找
- 第
2
个o
总结
跳跃
- 向前跳跃是 f
- 向后跳跃是 F
继续
- 保持方向是 ;
- 改变方向是 ,
- 可以加上
[count]
来加速 - 还有什么好玩的吗?
- 下次再说
oeasy教您玩转vim - 15 - # 行内查找的更多相关文章
- oeasy教您玩转vim - 57 - # 行可视化
可视化编辑 回忆上节课内容 上次我们了解到可视模式 其实可视化对应三种子模式 字符可视模式 v 行可视模式 大写V 块可视模式ctrl+v 我们先来了解字符可视化模式 快捷键 v 可配合各种mot ...
- oeasy教您玩转vim - 56 - # 字符可视化模式
可视化编辑 回忆上节课内容 我们学习了关于模式匹配中使用参数 单个参数 :%s/<h2>\(.*\)</h2>/ - \1/g 多个参数 :%s/<img src=\ ...
- oeasy教您玩转vim - 53 - # 批量替换
查找细节 回忆上节课内容 我们温习了关于搜索的相关内容 /正向,?反向 n保持方向,N改变方向 可以设置 是否忽略大写小写 是否从头开始查找 是否高亮显示 还有一些正则表达式的使用方法 行头行尾 ^$ ...
- oeasy 教您玩转linux010101查看内核uname
linux([?l?n?ks]) 是什么????? 咱们这次讲点什么呢?这次咱们讲讲这个 linux([?l?n?ks]),什么是 linux([?l?n?ks])呢?这linux([?l?n?ks] ...
- oeasy教您玩转linux010203显示logo
我们来回顾一下 上一部分我们都讲了什么?
- oeasy教您玩转linux010202软件包管理apt
顾一下 上一部分我们都讲了什么?
- oeasy教您玩转linux010201持续输出yes
我们来回顾一下 上一部分我们都讲了什么?
- oeasy教您玩转linux-010110内容回顾
我们来回顾一下 我们都讲了什么?
- oeasy教您玩转linux010108到底哪个which
到底哪个which 回忆上次内容 我们上次讲了查找命令位置whereis 我想找到whereis的位置怎么办?
- oeasy教您玩转linux010107那啥在哪 whereis
回忆上次内容 上次讲了 ls 的参数 (arguement) 和选项 (option) 的设置. 现在我们要制作这样一个列表:
随机推荐
- JSON数据压缩传输(一)- 无标记数组
服务端 //需要传回前端的字段string[] fields = dto.fields.Split(','); var resluts=new List<dynamic>(); //只取前 ...
- Gin 框架的执行流程
Gin框架是一个用Go语言编写的高性能Web框架,它基于httprouter实现,具有快速.简洁和高效的特性. 以下是Gin框架处理HTTP请求的大致执行流程: 1 初始化Gin引擎: 用户创建一个新 ...
- Html简要笔记
html在线文档: https://www.w3school.com.cn 怎么创建文件我已经会了 1,html快速入门 <!--文档类型说明 注释 --> <!DOCTYPE ht ...
- Vue cli传递数据
Nav组件和Forecast组件都是Home组件的子组件. (1)子组件传递数据给父组件 在子组件中,通过this.$emit('自定义事件名', 参数1,参数2,...)来调用父组件中定义的事件. ...
- linux下基于官方源码编译ipopt
linux下基于官方源码编译ipopt 1.C++依赖项安装升级 由于需要编译c++所以需要安装一系列的依赖: apt-get update apt-get -y upgrade apt instal ...
- SpringBoot系列(七) jpa的使用,以增删改查为例
JPA是Java Persistence API的简称,Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中. 它是SUN公司推出的一套基 ...
- Vector + ClickHouse 收集日志
目前业界的日志生态,最常用的是 ELK,其次就是 ClickHouse,本文会演示如何使用 Vector + ClickHouse 来采集 Nginx 日志并做清洗,最终写入 ClickHouse.至 ...
- 使用Wesky.Net.OpenTools包来快速实现嵌套型结构体数据转换功能
今天遇到有人提到结构体和byte数组互转的问题,我就顺便拿来水一篇.这是一个冷门的问题,估计使用的人不多.既然有需求,应该就有使用场景,那就顺便整一波. 为了达到效果,结构体.复杂结构体嵌套等都能实现 ...
- [TinyRenderer] Chapter1 p3 Line
(注:本小节不是对划线算法事无巨细的证明,如果你需要更加系统的学习,请跳转至文末的参考部分) 如果你是一名曾经学习过图形学基础的学生,那么你一定对画线算法稔熟于心,中点划线算法,Bresenham算法 ...
- Java设计模式-责任链模式,应用接口多个参数验证,订单多个费用的计算
Java设计模式-责任链模式,应用接口多个参数验证,订单多个费用的计算 1.定义请求和返回对象的上下文对象 package com.example.core.mydemo.java.filter; i ...