范围控制

回忆上节课内容

  • 这次我们主要就是看命令行
  • 首先是选择一个 [range] 这个范围
  • 然后进行相应的操作

    • :11,30d

      • :2,7y
    • 还可以指定寄存器

      • :"a3,40y
      • :"aP
  • 甚至可以用一行就复制或者剪切内容

    • :12,30t50,12-30行复制到50行
    • :3,6m30, 3-6行移动到30行
  • 这个 [range] 还有什么说法吗?

查看手册

  • :h range 可以查看相应的细节

范围定义

  • {number},比如1,4,7等具体数字

    • :3 就是去第3
  • . 当前行

    • 1,.从第1行到当前行
  • $ 最后一行

    • .,$从当前行到最后1行
    • 1,$从第1行到最后1行
    • :1,$d
  • % 所有行

    • 相当于1,$
    • :%d

匹配相关的范围

  • /{pattern}[/] 向下查找到的匹配{pattern}的那行
  • 比如下图中,光标在第1行
  • :1,/asdf.*/y就会把从第1行到asdf行的内容复制进入剪切板

  • ?就是向上搜索
  • 如果光标在第7行
  • :?asdf?,3d

    • 就是向上搜索到asdf的匹配行也就是第2行
    • 删除的就是2-3行

例子展示

  • .+3

    • 光标之下 3
  • /that/+1

    • 向下找到匹配/that/的那行的下 1
  • .,$

    • 从头到尾相当于%
  • 0;/oeasy/

    • 从第 1 行往后找到的第一个 oeasy,包括第一行
  • 1;/oeasy/

    • 从第 1 行,开始往后找的第一个 oeasy,不包括第一行
  • 我们经常用到/、?、,
  • 什么才是正确的输入方法呢?

小细节

  • 输入/

    • 右手小指往下点一下
    • 注意这个时候右手的食指还在j的凸起上
    • 只挪动小指
  • ,

    • 右手中指往下点一下
    • 注意这个时候右手的食指还在j的凸起上
    • 只挪动中指
    • 保持基本手型基本架子
    • 坐姿或站姿保证尾闾中正
    • 调整呼吸
  • ?

    • 左手小指按下Shift
    • 右手小指按下/
  • :

    • 左手小指按下Shift
    • 右手小指按下;
  • 这种左右配合感觉非常美妙

    • Shift 尽量都左右配合
  • 以后可以强制练习一下
  • 比如http://oeasy.org

    • :用小指
    • /也用小指的,左右配合
    • .用的是无名指
    • 无名指也叫药师指
    • 感觉多用的话可以提高灵感

总结

oeasy教您玩转vim - 46 - # 范围控制的更多相关文章

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

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

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

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

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

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

  4. oeasy教您玩转linux010203显示logo

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

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

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

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

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

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

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

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

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

  9. oeasy教您玩转python - 006 - # hello world

    ​ Hello World! 回忆上次内容 python3 的程序是一个 5.3M 的可执行文件 python3 里面全都是 cpu 指令 可以执行的那种指令 我们可以把指令对应的汇编找到 objdu ...

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

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

随机推荐

  1. vue ali-oss 上传

    vue项目使用阿里云oss上传图片或下载图片 https://www.cnblogs.com/zoo-x/articles/11778010.html#4565291Vue Element UI + ...

  2. 卸载vsto插件的方法

    现在发布博客园的博客已经可以直接在word上进行,word上的代码高亮插件也安装起了,不过,因为有源码的原因,我就对插件进行了更改,安装之后需要重新安装,有时候在再次安装得时候会提示已经安装过了,我就 ...

  3. golang errgroup 的超时检测

    errgroup 的超时检测通常是一种事后得到结果的方式. errgroup本身并不直接支持超时控制,而是依赖于与之关联的context.Context来实现超时和取消功能. 当context超时时, ...

  4. Linux和Windows时间不一致问题

    问题描述 装过双系统或者虚拟机装Linux的人都知道,Linux的时间和Windows往往是不同步的,在编写跨平台程序的时候特别是对时间敏感的代码就带来很大的困扰 解决办法 这个问题可以在Linux下 ...

  5. react 装饰器

    使用装饰器定义 装饰器是一种函数,写成 @函数名.它可以放在类和类方法的定义前面.react脚手架创建的项目默认是不支持装饰器,需要手动安装相关模块和添加配置文件. 安装相关模块 npm i -D c ...

  6. 笔记本重装系统后重装OFFICE(预装的,赠送的)

    笔记本重装系统后重装OFFICE(预装的,赠送的) 1.首先用edge打开bing搜索微软账号,谷歌浏览器也行就是登录微软账号多了一步 2.进去后点击服务和订阅那一栏,然后可以看到自己已购买的产品.再 ...

  7. java多线程编程:你真的了解线程中断吗?

    java.lang.Thread类有一个 interrupt 方法,该方法直接对线程调用.当被interrupt的线程正在sleep或wait时,会抛出 InterruptedException 异常 ...

  8. NetMvc通过亚马逊方式服务器端和客户端上传MinIO顺利解决

    前言: 1.由于项目是.NET Framework 4.7 MVC LayUI,所以需要找一个资源站点存放项目中静态资源文件: 2.需要支持服务端和客户端都支持上传文件方式: 3.调用简单,涉及库越少 ...

  9. Android程序获取鸿蒙手机设备信息(是否鸿蒙手机、版本号、小版本号等)

    1.效果图 鸿蒙手机 --> 关于手机的截图: Android程序获取鸿蒙手机设备信息的截图: 2.实现 本案例DEMO的实现主要借鉴了网上现有的资料: https://blog.csdn.ne ...

  10. DPO: Direct Preference Optimization 直接偏好优化(学习笔记)

    学习参考:链接1   一.为什么要提出DPO 在之前,我们已经了解到基于人类反馈的强化学习RLHF分为三个阶段:全监督微调(SFT).奖励模型(RM).强化学习(PPO).但是RLHF面临缺陷:RLH ...