复制粘贴

回忆上节课内容

  • 我们上次的内容是粘贴

    • 小写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. c++调用动态dll库

    首先把需要调用的动态库dll和它依赖的对象都要放入到运行目录,debug环境就是debug目录下了. 然后就写代码: #include <iostream> #include <wi ...

  2. Android 13 - Media框架(29)- MediaCodec(四)

    关注公众号免费阅读全文,进入音视频开发技术分享群! 上一节我们了解了如何通过 onInputBufferAvailable 和 getInputBuffer 获取到 input buffer inde ...

  3. jquery的节点的替换 节点的克隆

      // 节点的替换 / 标签的替换         // 1 , $('已有标签').replaceWith(替换的新的标签)         // 替换所有         // 将已有的span ...

  4. kettle从入门到精通 第五十七课 ETL之kettle调用存储过程

    1.之前有个同学说他使用kettle执行一坨sql语句时,kettle直接卡死掉了.我给出的建议是使用存储过程,果不其然使用存储过程顺利解决问题. 今天我们一起来学习下kettle如何调用存储过程,这 ...

  5. 让Easysearch运行在LoongArch(3C5000L)上

    简介 在上一次,我介绍了在国产操作系统 Kylin V10 (Lance)-aarch64 上安装单机版 Easysearch/Console/Agent/Gateway/Loadgen,小伙伴们可查 ...

  6. CICD介绍

    1.学习背景 当公司的服务器架构越来越复杂,需要频繁的发布新配置文件,以及新代码: 但是如果机器部署数量较多,发布的效率必然很低: 并且如果代码没有经过测试环境,预生产环境层层测试,最终才到生产环境, ...

  7. 数据标注工具 doccano

    目录 安装 运行 doccano 使用 doccanno 上传数据 定义标签 添加成员 开始标注 导出数据 查看数据 统计 数据标注工具 Label-Studio 安装 打开命令行(cmd.termi ...

  8. python实现推送消息到微信公众号

    使用到库: Requests 实现方式: 微信已开放了对应的接口,直接通过python的requests库,发起请求,实现推送消息到公众号 微信公众号准备: 1.没有注册微信公众号,可以使用微信提供的 ...

  9. pycharm中运行jupyter notebook

    进入anaconda prompt,进入对应的虚拟环境 输入jupyter notebook,找到路径和token 这两个随便复制一个,注意是包括token也要复制到 然后打开pycharm,并建立一 ...

  10. Nacos + Gateway网关搭建微服务

    文章所有代码GtiHub:https://github.com/Tom-shushu/work-study 里面的gateway-server和server1项目 1.Docker 部署 Nacos ...