按行编辑

回忆上节课内容????

  • 上次我们主要就是综合运用
  • 很好玩的,更快速的解决问题
  • 进行计算
    • <kbd>ctrl</kbd>+<kbd>a</kbd>,将具体的数字加1
    • <kbd>ctrl</kbd>+<kbd>x</kbd>,将具体的数字减1
    • <kbd>5</kbd><kbd>ctrl</kbd>+<kbd>a</kbd>,将具体的数字加5
    • 一次命令模式
    • <kbd>ctrl</kbd>+<kbd>o</kbd>
    • 可以进入执行一次命令
    • 然后回到插入模式
  • 这次我们进入新的领域
    • 命令行编辑~

光标的运动

  • 命令行是什么?
    • 命令行就是我们熟悉的冒号:
    • 比如:h :
      • 可以查询命令行的帮助
  • 在命令行上如何控制光标运动呢?
  • 比如已经打出了 :oeasy o2z o3z
    • 左右方向键 <kbd>⬅️</kbd>、<kbd>➡️️</kbd
    • <kbd>ctrl</kbd>+<kbd>⬅️</kbd>、<kbd>ctrl</kbd>+<kbd>➡️️</kbd>按单词左右运动
    • <kbd>shift</kbd>+<kbd>⬅️</kbd>、<kbd>shift</kbd>+<kbd>➡️️</kbd>按单词左右运动
    • <kbd>ctrl</kbd>+<kbd>b</kbd> 回到开头begin
    • <kbd>ctrl</kbd>+<kbd>e️</kbd> 回到结尾end
    • <kbd>ctrl</kbd>+<kbd>w</kbd> 删除光标之前的单词word
  • 编辑好命令之后
    • 命令行模式是通过最后的回车<CR>
    • 完成命令的输入的

命令行的操作

  • dnormal 模式下的删除命令
  • :d命令行 模式下的删除命令
  • 关于命令行命令
    • 我们可以使用:h :d
    • 来观察一下<kbd>d</kbd>命令是如何按行进行 删除

图片描述

  • 我们来试试
  • :d 可以删除当前行
  • 帮助中这个[range] 是干什么用的呢?????
    • 什么不会就 h 什么呀!
    • 可以 :h range

[range]范围

图片描述

  • 最常见的就是 范围
  • 比如 1,4 就是从第 1-4
  • 然后再后面加上 d 操作
  • :1,4d 就是 1 - 4 行都删除
  • 可以把行号列出来:se nu
  • range 可以复制 yank 吗?
  • 查一下帮助啊

[range]yank 范围复制

  • :h :y

图片描述

  • 2,5y2-5 行都 yank 下来
  • yank到了什么?
    • 可以用 :reg 看一下
  • 如果想用制定寄存器"a呢?
    • 那就:"a2,5y
    • 粘贴的时候
    • 就需要指定寄存器 "ap
  • 这样我们就可以快速的完成行的复制和删除
  • 其实还有效率更好的方法!!!

直接复制

图片描述

  • :h :copy可以看到相关的帮助,如上图
    • 更快速的写法是:t
    • :5,8t20可以把5-8行拷贝到第20行
  • 试一下
  • 这很爽

直接剪切

  • :h m可以查询:move的用法
    • :5,8m2可以把5-8行移动到第2行

图片描述

  • 这也很爽????

总结

  • 这次我们主要就是看看行编辑命令
    • d 是删除
    • y 是复制
  • 可以选择一个[range]范围
  • 然后进行相应的操作
    • :11,30d
    • :2,7y
    • :"a3,40y
    • :"aP
  • 甚至可以用一行就复制或者剪切内容
    • :12,30t50,12-30行复制到50行
    • :3,6m30,3-6行移动到30行
  • 这个 [range] 还有什么说法吗?????
  • 下次再说 ????

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