oeasy教您玩转vim - 46 - # 范围控制
范围控制
回忆上节课内容
- 这次我们主要就是看命令行
- 首先是选择一个
[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
:
用小指/
也用小指的,左右配合.
用的是无名指- 无名指也叫药师指
- 感觉多用的话可以提高灵感
总结
有了这个
range
、address
我们可以做很多事情- 跳转
:44
- 跳转
复制和剪切
1,3d
3,$y
%d
配合搜索
/oeasy/,$y
5;/oeasy/d
其实还有一种
address
- 是
mark
标记
- 是
- 还记得
mark
标记 是什么意思? - 下次再说
[Github地址] (GitHub - overmind1980/oeasyvim: 这是oeasy制作的的一套关于vim的教程 可以在 https://www.lanqiao.cn/teacher/courses/2840 做实验 邀请码FJWYIMGB 本教程从0基础开始,到精通vim配置,和高级命令。希望能让vim是你的开发更高效。) [Gitee地址] (overmind1980/oeasyvim) [蓝桥实验楼 邀请码FJWYIMGB] (oeasy 教您零基础玩转编辑神器 Vim_Linux - 蓝桥云课)
oeasy教您玩转vim - 46 - # 范围控制的更多相关文章
- oeasy教您玩转vim - 56 - # 字符可视化模式
可视化编辑 回忆上节课内容 我们学习了关于模式匹配中使用参数 单个参数 :%s/<h2>\(.*\)</h2>/ - \1/g 多个参数 :%s/<img src=\ ...
- oeasy教您玩转vim - 57 - # 行可视化
可视化编辑 回忆上节课内容 上次我们了解到可视模式 其实可视化对应三种子模式 字符可视模式 v 行可视模式 大写V 块可视模式ctrl+v 我们先来了解字符可视化模式 快捷键 v 可配合各种mot ...
- oeasy教您玩转vim - 53 - # 批量替换
查找细节 回忆上节课内容 我们温习了关于搜索的相关内容 /正向,?反向 n保持方向,N改变方向 可以设置 是否忽略大写小写 是否从头开始查找 是否高亮显示 还有一些正则表达式的使用方法 行头行尾 ^$ ...
- oeasy教您玩转linux010203显示logo
我们来回顾一下 上一部分我们都讲了什么?
- oeasy 教您玩转linux010101查看内核uname
linux([?l?n?ks]) 是什么????? 咱们这次讲点什么呢?这次咱们讲讲这个 linux([?l?n?ks]),什么是 linux([?l?n?ks])呢?这linux([?l?n?ks] ...
- oeasy教您玩转linux010202软件包管理apt
顾一下 上一部分我们都讲了什么?
- oeasy教您玩转linux010201持续输出yes
我们来回顾一下 上一部分我们都讲了什么?
- oeasy教您玩转linux010108到底哪个which
到底哪个which 回忆上次内容 我们上次讲了查找命令位置whereis 我想找到whereis的位置怎么办?
- oeasy教您玩转python - 006 - # hello world
Hello World! 回忆上次内容 python3 的程序是一个 5.3M 的可执行文件 python3 里面全都是 cpu 指令 可以执行的那种指令 我们可以把指令对应的汇编找到 objdu ...
- oeasy教您玩转linux-010110内容回顾
我们来回顾一下 我们都讲了什么?
随机推荐
- EasyUI组件新增方法与事件
以window组件为例 事件 扩展事件直接定义在options中,可以再初始化组件时定义事件,也可以使用时临时定义事件.这里是组件初始化后在添加的. 使用情景:添加,插入功能.主界面表格分别点击添加和 ...
- Django与前端框架协作开发实战:高效构建现代Web应用
title: Django与前端框架协作开发实战:高效构建现代Web应用 date: 2024/5/22 20:07:47 updated: 2024/5/22 20:07:47 categories ...
- 【U8】快速获取u8单据的类型key值
win10下 打开 写字板,直接搜索栏搜索写字板打开. 登录u8,找到需要的单据,以基础档案存货为例,打开存货档案界面. 按住键盘ctrl+shift,鼠标左键单据单据上的某个按钮,以新增按钮为例,单 ...
- Django模型层的QuerySet对象
def index(request): # 查询数据,返回QuerySet对象books books=Book.objects.filter(id__gte=1) # 打印books, 是一个Quer ...
- .Net6 winform 程序使用依赖注入
.net Blazor webassembly 和 webAPI 内建支持依赖注入, Winform 和 Console 应用虽然不带有依赖注入功能, 但增加依赖注入也很简单. 本文将示例如何为 Wi ...
- QGIS开发笔记(三):Windows安装版二次开发环境搭建(下):将QGis融入QtDemo,添加QGis并加载tif遥感图的Demo
前言 使用QGis的目的是进行二次开发,或者说是融入我们的应用(无人车.无人船.无人机),本片描述搭建QGis二次基础开发环境,由于实在是太长了,进行了分篇: 上半部分:主要是安装好后,使用QtC ...
- 编译安装mysql5.7.20
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo && \ ...
- 基于React的SSG静态站点渲染方案
基于React的SSG静态站点渲染方案 静态站点生成SSG - Static Site Generation是一种在构建时生成静态HTML等文件资源的方法,其可以完全不需要服务端的运行,通过预先生成静 ...
- python-使用pyecharts绘制各省份985学校数量图
1.环境 代码运行环境:python3.7 相关的库:pyecharts 1.7.1 代码编辑器:visual studio code 2.目的 通过使用pyecharts库,来绘制全国各省985高校 ...
- Unity 3D 的NEW (堆内存)
用容器装 在AWEKE NEW 运行时NEW 会导致分配内存时界面卡住, new class 的时候 才刷新程序帧 AWEKE 是程序启动时还没走完第一帧的开头执行 AWEKE 里面的代码 常量也在A ...