oeasy教您玩转vim - 40 - # 复制粘贴

欠伸展肢体,吟咏心自愉。这篇文章主要讲述oeasy教您玩转vim - 40 - # 复制粘贴相关的知识,希望能为你提供帮助。
复制粘贴 回忆上节课内容????

  • 我们上次的内容是粘贴
    • 小写< kbd> p< /kbd> 意味着在光标下面或者后面粘贴
    • 大写< kbd> P< /kbd> 意味着在光标上面或者前面粘贴
    • p的意思是放上去,就是put
  • 把什么放上去呢?
  • reg"" 的内容 放上去
  • 如果reg剪切的是一整行或者多行
    • 那么粘贴的时候就在当前行上面或者下面粘贴
  • 如果reg剪切的是不包含换行
    • 那么粘贴的时候就在当前行前面或者后面粘贴
  • 有了 删除< kbd> d< /kbd> 和 粘贴< kbd> p< /kbd>
  • 我们其实可以做剪切的操作了
  • 但是如果我想要复制粘贴
  • 那应该怎么办呢?????
关于复制
  • 复制其实就在粘贴上面一点点
  • 往上翻就可以找到
  • 命令是< kbd> y< /kbd>
  • 对应的单词是 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 ""
oeasy教您玩转vim - 40 - # 复制粘贴

文章图片

具体操作
  • 找到一行 然后进行< kbd> y< /kbd> < kbd> y< /kbd> 操作
  • 观察:reg发现这一行已经进入了寄存器
  • 找到一个合适的地方< kbd> p< /kbd>
    • 可以把寄存器里面的内容放到当前行下面
  • 再找到一个位置< kbd> P< /kbd>
    • 可以把寄存器里面的内容放到当前行上面
  • 加上[count]翻倍因素
    • 来他个10yy
  • 再观察:reg
  • 注意换行标识符为^J
oeasy教您玩转vim - 40 - # 复制粘贴

文章图片

配合移动
  • < kbd> y< /kbd> 之后加一个motion
  • motion 那一大套还是都可以用的
  • 我们再来重温一遍????
    • 首行< kbd> g< /kbd> < kbd> g< /kbd> 、末行< kbd> G< /kbd> 、第n行< kbd> n< /kbd> < kbd> G< /kbd>
    • 光标运动的方式是< kbd> h< /kbd> < kbd> j< /kbd> < kbd> k< /kbd> < kbd> l< /kbd>
    • 单词运动wbe
      • < kbd> w< /kbd> 是到下一个word的开头
      • < kbd> b< /kbd> 是到当前word的开头
      • < kbd> e< /kbd> 是到当前word的结尾
      • 除了word之外还有WORD
    • 行头行尾
      • < kbd> ^< /kbd> 是到本行第一个非空字符
      • < kbd> 0< /kbd> 是到本行第一个字符,不管是不是空格
      • < kbd> g< /kbd> < kbd> _< /kbd> 是到本行最后一个非空字符
      • < kbd> $< /kbd> 跳到本行最后一个字符,即使他是空格
    • 行内跳跃和贴靠
      • 跳跃是< kbd> f< /kbd>
      • 跳跃是< kbd> F< /kbd>
      • 贴靠是< kbd> t< /kbd>
      • 贴靠是< kbd> T< /kbd>
    • 全文查找
      • 查找的话就是< kbd> /< /kbd>
      • 反向查找的话就是< kbd> ?< /kbd>
    • 文本区块
      • < kbd> {< /kbd> 、< kbd> }< /kbd> 按段落移动
      • < kbd> (< /kbd> 、< kbd> )< /kbd> 按句子移动
具体复制
  • 比如我们可以
    • y$
    • y4j
    • yf(
    • yt)
    • y/}
    • 具体啥意思
  • 注意复制内容中有没有换行的区别
  • 其实就和d到的寄存器内容是一样的
总结
  • 我们这次的内容是复制
    • < kbd> d< /kbd> 就是把东西delete到寄存器里,就是剪切
    • < kbd> y< /kbd> 就是把东西yank到寄存器里,就是复制
  • yank也可以配合motion
  • 不管是yankdelete都是把东西放到默认寄存器
  • 到底什么是寄存器
  • 有什么可玩的呢?????
  • 下次再说 ????
【oeasy教您玩转vim - 40 - # 复制粘贴】[Github地址] (https://github.com/overmind1980/vimtutorial)
[Gitee地址] (https://gitee.com/overmind1980/vimtutorial)
[蓝桥实验楼 邀请码FJWYIMGB] (https://www.lanqiao.cn/courses/2840)

    推荐阅读