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

Posted overmind1980

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 ""

具体操作

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

配合移动

  • <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都是把东西放到默认寄存器
  • 到底什么是寄存器
  • 有什么可玩的呢?????
  • 下次再说 ????

[Github地址] (https://github.com/overmind1980/vimtutorial)
[Gitee地址] (https://gitee.com/overmind1980/vimtutorial)
[蓝桥实验楼 邀请码FJWYIMGB] (https://www.lanqiao.cn/courses/2840)

以上是关于oeasy教您玩转vim - 40 - # 复制粘贴的主要内容,如果未能解决你的问题,请参考以下文章

oeasy教您玩转vim - 47 - # 使用标记

oeasy教您玩转vim - 41 - # 各寄存器

oeasy教您玩转vim - 48 - # ed由来

oeasy教您玩转vim - 49 - # 命令进阶

oeasy教您玩转vim - 51 - # 读写文件

oeasy教您玩转vim - 52 - # 正则查找