复制粘贴

回忆上节课内容

  • 我们上次的内容是粘贴

    • 小写p意味着在光标下面或者后面粘贴
    • 大写P意味着在光标上面或者前面粘贴
    • p的意思是放上去,就是put
  • 把什么放上去呢?
  • reg"" 的内容 放上去
  • 如果reg剪切的是一整行或者多行

    • 那么粘贴的时候就在当前行上面或者下面粘贴
  • 如果reg剪切的是不包含换行

    • 那么粘贴的时候就在当前行前面或者后面粘贴
  • 有了 删除d 和 粘贴p
  • 我们其实可以做剪切的操作了
  • 但是如果我想要复制粘贴
  • 那应该怎么办呢?

关于复制

  • 复制其实就在粘贴上面一点点
  • 往上翻就可以找到
  • 命令是y
  • 对应的单词是 yank
  • 什么意思呢

    • "to pull, jerk," 1822, Scottish, of unknown origin. Related: Yanked; yanking. The noun is 1818 in sense of "sudden blow, cuff;" 1856 (American English) as "a sudden pull."
    • 来自于苏格兰语
    • 意思是猛的拉过来
    • 拉到哪里?

      • 拉到默认寄存器register ""

具体操作

  • 找到一行 然后进行yy操作
  • 观察:reg发现这一行已经进入了寄存器
  • 找到一个合适的地方p

    • 可以把寄存器里面的内容放到当前行下面
  • 再找到一个位置P

    • 可以把寄存器里面的内容放到当前行上面
  • 加上[count]翻倍因素

    • 来他个10yy
  • 再观察:reg
  • 注意换行标识符为^J

配合移动

  • y之后加一个motion
  • motion 那一大套还是都可以用的
  • 我们再来重温一遍

    • 首行g g 、末行G 、第n行n G
    • 光标运动的方式是h j k l
    • 单词运动wbe

      • w 是到下一个word的开头
      • b 是到当前word的开头
      • e 是到当前word的结尾
      • 除了word之外还有WORD
    • 行头行尾

      • ^ 是到本行第一个非空字符
      • 0 是到本行第一个字符,不管是不是空格
      • g_ 是到本行最后一个非空字符
      • $ 跳到本行最后一个字符,即使他是空格
    • 行内跳跃和贴靠

      • 跳跃是f
      • 跳跃是F
      • 贴靠是t
      • 贴靠是T
    • 全文查找

      • 查找的话就是/
      • 反向查找的话就是?
    • 文本区块

      • {、}按段落移动
      • (、)按句子移动

具体复制

  • 比如我们可以

    • y$
    • y4j
    • yf(
    • yt)
    • y/}
    • 具体啥意思
  • 注意复制内容中有没有换行的区别
  • 其实就和d到的寄存器内容是一样的

总结

  • 我们这次的内容是复制

    • d就是把东西delete到寄存器里,就是剪切
    • y就是把东西yank到寄存器里,就是复制
  • yank也可以配合motion
  • 不管是yankdelete都是把东西放到默认寄存器
  • 到底什么是寄存器
  • 有什么可玩的呢?
  • 下次再说

[Github地址] (https://github.com/overmind1980/vimtutorial)

[Gitee地址] (https://gitee.com/overmind1980/vimtutorial)

[蓝桥实验楼 邀请码FJWYIMGB] (https://www.lanqiao.cn/courses/2840)

oeasy教您玩转vim - 40 - # 复制粘贴的更多相关文章

  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. vim的复制粘贴(包括系统剪贴板)

    1.vim常用复制粘贴命令 Vim的复制粘贴命令无疑是y (yank),p(paster),加上yy,P PS: vim有个很有意思的约定(我觉得是一种约定),就是某个命令的大小写都是实现某种功能,只 ...

  5. 【vim小小记】vim的复制粘贴(包括系统剪贴板)

    1.vim常用复制粘贴命令 Vim的复制粘贴命令无疑是y (yank),p(paster),加上yy,P PS: vim有个很有意思的约定(我觉得是一种约定),就是某个命令的大小写都是实现某种功能,只 ...

  6. Vim中复制粘贴缩进错乱问题的解决方案

    Vim中复制粘贴缩进错乱问题的解决方案 当你把这段缩进优美的代码直接ctrl+c,ctrl+v到Vim的时候,就会出现如下恶心的情况 可以看到,这种直接粘贴的方式会导致代码丢失和缩进错乱等情况. 解决 ...

  7. 在LINUX终端和VIM下复制粘贴

    http://www.tinylab.org/linux-terminal-and-paste-copy-under-vim/ 在GUI界面下,我们可以很自由的复制粘贴.但是在字符界面下,我们不得不用 ...

  8. VIM系统复制粘贴

    1 需求 系统复制粘贴主要是满足下面两个需求. 在多个对象之间复制粘贴 vim窗口与vim窗口之间 外部界面与vim窗口之间 不变复制粘贴.从外部界面复制粘贴到vim窗口时,文本不发生任何变化. 2 ...

  9. oeasy教您玩转linux010203显示logo

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

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

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

随机推荐

  1. MLP实现波士顿房屋价格回归任务

    1. 数据集 波士顿房屋价格.csv文件,文件中的数据有可能不完整,部分数据如下: CRIM, ZN ,INDUS ,CHAS,NOX,RM,AGE,DIS,RAD,TAX,PTRATIO,LSTAT ...

  2. 【OpenVINO™】在C#中使用 OpenVINO™ 部署 YOLOv10 模型实现目标

      最近YOLO家族又添新成员:YOLOv10,YOLOv10 提出了一种一致的双任务方法,用于无nms训练的YOLOs,它同时带来了具有竞争力的性能和较低的推理延迟.此外,还介绍了整体效率-精度驱动 ...

  3. C# WinForm控件及其子控件转成图片(支持带滚动条的长截图)

    概述(Overview) 参考了网上的分析,感觉都不太理想:1.一个控件内如果包含多个子控件时没有考虑顺序问题:2.超出控件可显示区域时不能长截图,有滚动条会多余截取了滚动条.这个随笔旨在解决这个问题 ...

  4. 基于ReAct机制的AI Agent

    当前,在各个大厂纷纷卷LLM的情况下,各自都借助自己的LLM推出了自己的AI Agent,比如字节的Coze,百度的千帆等,还有开源的Dify. 你是否想知道其中的原理?是否想过自己如何实现一套AI ...

  5. SQL练习之打卡记录数据统计类问题

    最近老婆的公司,关闭了OA系统中,各类打卡时间数据统计的功能,为了不麻烦老婆手算,就做了一个简单的打卡系统,方便自动统计老婆想要知道的各类数据. 做的过程中就遇到了几个还挺有意思的SQL,这里写成一篇 ...

  6. SpringBoot系列(四)使用spring-kafka实现生产者消费者demo代码

    一.引入spring-kafka的maven依赖 <dependency> <groupId>org.springframework.kafka</groupId> ...

  7. C++常用模板

    常用模板: 数学: 1. 组合数 组合数 #include<bits/stdc++.h> using namespace std; #define ll long long const l ...

  8. 什么是spring框架?

    spring是一个开放源代码的设计层面框架,它解决的是业务逻辑层和其他各层的松耦合问题,是一个分层的javaEE一站式轻量级开源框架

  9. flutter 创建第一个项目(二)

    新建flutter project 项目 这样就创建出了第一个项目

  10. vite+vue3+ts+elementPlus前端框架搭建 [二] pinia状态管理

    前面已经完成了基本框架搭建,下一步针对各个模块的封装以及实验 本章主要是针对pinia的状态模块实现 1. 创建Store 在src文件夹下创建一个store的文件夹,并在该文件夹下创建index.t ...