oeasy教您玩转vim - 39 - # 剪切粘贴
剪切粘贴
回忆上节课内容
- 我们大幅度地复习了整个
motion: 直接运动
- h j k l
行运动
- 首行g g
- 末行G
- 第n行n G
单词运动
wbe- w 是到下一个
word的开头 - b 是到当前
word的开头 - e 是到当前
word的结尾 - 除了
word之外还有WORD
- w 是到下一个
行头行尾
- ^ 是到本行第一个非空字符
- 0 是到本行第一个字符,不管是不是空格
- g_ 是到本行最后一个非空字符
- $ 跳到本行最后一个字符,即使他是空格
行内跳跃和贴靠
- 向
前跳跃是f - 向
后跳跃是F - 向
前贴靠是t - 向
后贴靠是T
- 向
全文查找
- 查找的话就是 /
- 反向查找的话就是 ?
文本区块
- {、} 按段落移动
- (、) 按句子移动
- 这些
motion都可以 d配合使用,完成快速删除的工作 - 过程中还可以使用
[count]进行翻倍 - 删除的内容,放在
""寄存器中 - 可以配合重复.
- 而且以前的一些命令可以有了新的理解
回忆过去
一些原来的操作可以有了新的写法
- D 对应的d$
- x 对应 dl
- X 对应 dh
- 体会多多运动左手无名指的快乐
- 删除的内容,放在
""寄存器中 - 那这个东西删了
- 放在寄存器里
- 我想粘贴到别的地方
- 怎么办呢?
关于粘贴
- 粘贴的话,应该离这个删除
d的位置不远 h d找到剪切的帮助文件在change.txt- 文件中的
5.copying and moving text中 - 可以找到 p 应该就是粘贴对应的命令

- 不是
paste p对应的是put放上去- 把什么放上去呢?
- 把
d到寄存器的东西放上去
动手
我们试一试
- 我们输入一行
oeasy然后对他进行 dd - 这个时候
oeasy这一行就进入了寄存器""了 - 然后 p 一下,就会出现一个
oeasy - 9 p 就会出现
9行oeasy - 真的可以!!!
- 我们输入一行
但是这里面有两个 p
- 一个叫做 p 说是
after cursor - 另一个叫做 P 说是
before cursor
- 一个叫做 p 说是

- 啥意思呢?
上下
- 先都删除 g g d G
- 我们首先把标尺调出来
:ru 然后插入
1行9个1- 9
- i进入插入模式
- 输入
1 - esc退回到普通模式
- o 换行回车
然后再插入
1行9个2- 先esc进入正常模式(目的是打断输入状态)
- i进入插入模式
- 输入
2 - esc退回到普通模式
8.
- 把插入2这个事重复
8次
- 把插入2这个事重复
- o换行
- esc
然后再尝试插入
1行3- 方法和上面一样
最后插入一行
oeasy- 并用d d把他删除
- 也就是把他放到了
""默认寄存器里面了

体会上下
- 我们把光标移动到第
2行 - p这个时候
- 寄存器
""中的oeasy会放到2222222...的下面

- 用u撤销刚才的操作
我们再试试 P,大写的这个
- 我们把光标移动到第
2行 - P这个时候
- 寄存器
""中的oeasy会放到2222222...的上面
- 我们把光标移动到第

- 他怎么知道这是一行?
细节
- 如果寄存器里面的不是一整行呢?
- 我们先
:reg看一下寄存器""

- 寄存器中除了
oeasy还有个^J意思是包括换行符 - 我们这次不用dd
我们用d$
motion是$意味着到行尾- 这样就把
oeasy放进了寄存器"" - 看一下
:reg ^J换行这个消失了!- p一把!

这个p也分大小写么?
前后
- 把光标移动到
222222...第5个2 - 然后p

- 他就在第
5个2后面插入寄存器内容 - u回来,还放在第
5个2上 - 然后P
- 他就在第
5个2前面插入

常规操作

dw是删除单词
- 这里删的没有换行符
- 注意把后面的空格也删除了
- 一并放入寄存器
wel是移动位置
- 下一个word头 到 to的t
- 下个word尾 到 to的o
- 向右一格 到空格
- p是粘贴到光标之后
常用的交换字符

- x删除当前字符
- p是在后面粘贴
总结
- 我们这次的内容是粘贴
- 粘贴的内容是
:reg中的内容 - 内容放在
""寄存器中 如果
:reg删除的是一整行或者多行- 那么粘贴的时候就在当前行上面或者下面粘贴
如果
:reg删除的是不包括换行符- 那么粘贴的时候就在当前位置前面或者后面粘贴
p
如果剪贴板里面是行
- 那么在光标下面粘贴
如果剪贴板里面不是行
- 那么在光标后面粘贴
P
如果剪贴板里面是行
- 那么在光标上面粘贴
如果剪贴板里面不是行
- 那么在光标前面粘贴
- 大小写对应的是粘贴位置
- 有了删除和粘贴,我们其实可以做剪切的操作了
- 但是如果我想要复制粘贴,那应该怎么办呢?
- 下次再说
[Github地址] (https://github.com/overmind1980/vimtutorial)
[Gitee地址] (https://gitee.com/overmind1980/vimtutorial)
[蓝桥实验楼 邀请码FJWYIMGB] (https://www.lanqiao.cn/courses/2840)
oeasy教您玩转vim - 39 - # 剪切粘贴的更多相关文章
- 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内容回顾
我们来回顾一下 我们都讲了什么?
随机推荐
- 实用!!!!springBoot加入微信扫码支付功能,有一说一还是挺有意思的
基于springboot微服务加入微信支付的功能 在线微信支付开发文档: https://pay.weixin.qq.com/wiki/doc/api/index.html native扫码支付方式: ...
- vue xlsx组件 导出的excel表头插入内容
主要就是sheet_add_dom这个方法, dom是带有table标签元素的dom节点. timeData是个二维数组:[["条件1","条件2"],[&qu ...
- 记录一次 对应用程序日志排查,老是刷出有本地ip登录Sqlserver数据库失败的日志
在我电脑-计算机管理-事件查看器-windows日志-应用程序里 1秒中就刷很多条 用户sa登录某个数据库失败,客户端ip:192....; 我查看ip发现是本机的ip地址.也就是说有本地的应用程序在 ...
- Android启动过程-万字长文(Android14)
在计算机启动过程和Linux内核Kernel启动过程介绍了计算机启动和内核加载,本篇文章主要介绍Android系统是如何启动的. 一.Android启动流程 Android系统的启动流程与Linux接 ...
- 机器学习策略篇:详解超过人的表现(Surpassing human- level performance)
超过人的表现 讨论过机器学习进展,会在接近或者超越人类水平的时候变得越来越慢.举例谈谈为什么会这样. 假设有一个问题,一组人类专家充分讨论辩论之后,达到0.5%的错误率,单个人类专家错误率是1%,然后 ...
- 第二次大作业BLOG心得
(1)前言: 知识点: ①ArrayLsit的知识点: ArrayList 是 Java 中的动态数组实现,它提供了自动调整大小的功能,可以根据需要动态增长或收缩. ArrayList 可以存储任意类 ...
- 任意树遍历,可以使用 goto 跳记号标注的
先顺序进入到最后一个根的根部,完后扫描同级 同级扫描完用 goto跳代码改层数到倒数地二层 之后操作就是倒着往上搜索的,有难度,但是还是能做到的嘛 用 lisit 好像不需要别的,全用 list 连接 ...
- Unity3D 内存管理非代码技巧
在场景管理器新建 gameobjct 使用代码在类初始化时 NEW 普肉fai包(包)然后将相同的类NEW够挂载到 gameobjct子节点上 在操控列表中类的时候用for循环遍历操作移动还是怎么样( ...
- 直播预告|把握转型浪潮下的机会,甄知科技教你保姆级IT服务管理
近年来,5G.云计算.大数据.物联网.区块链.人工智能等新兴技术不断在企业中协同发展应用,推动着企业的数字化程度逐步加深.自新冠疫情发生以来,企业的远程服务.服务自助等服务需求激增,企业数字化转型需求 ...
- npm 发布自己的组件库
npm 发布组件库步骤 第一步:注册 npm 账号 第二步:编写自己的组件库 第三部:编写 package.json 可以通过命令生成 npm init { "name": &qu ...