按行编辑

回忆上节课内容

  • 上次我们主要就是综合运用
  • 很好玩的,更快速的解决问题
  • 进行计算

    • ctrl+a,将具体的数字加1

      • ctrl+x,将具体的数字减1
      • 5ctrl+a,将具体的数字加5
    • 一次命令模式

      • ctrl+o
      • 可以进入执行一次命令
      • 然后回到插入模式
  • 这次我们进入新的领域

    • 命令行编辑~

光标的运动

  • 命令行是什么?

    • 命令行就是我们熟悉的冒号:
    • 比如:h :

      • 可以查询命令行的帮助
  • 在命令行上如何控制光标运动呢?
  • 比如已经打出了 :oeasy o2z o3z

    • 左右方向键 ️、️️</kbd
    • ctrl+️、ctrl+️️按单词左右运动
    • shift+️、shift+️️按单词左右运动
    • ctrl+b 回到开头begin
    • ctrl+e️ 回到结尾end
    • ctrl+w 删除光标之前的单词word
  • 编辑好命令之后

    • 命令行模式是通过最后的回车<CR>
    • 完成命令的输入的

命令行的操作

  • dnormal 模式下的删除命令
  • :d命令行 模式下的删除命令
  • 关于命令行命令

    • 我们可以使用:h :d
    • 来观察一下d命令是如何按行进行 删除

  • 我们来试试
  • :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地址] (overmind1980/oeasyvim)

[蓝桥实验楼 邀请码FJWYIMGB] (oeasy 教您零基础玩转编辑神器 Vim_Linux - 蓝桥云课)

oeasy教您玩转vim - 45 - # 按行编辑的更多相关文章

  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. oeasy教您玩转linux010203显示logo

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

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

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

  6. oeasy教您玩转linux010202软件包管理apt

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

  7. oeasy教您玩转linux010201持续输出yes

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

  8. oeasy教您玩转linux010108到底哪个which

    到底哪个which 回忆上次内容 我们上次讲了查找命令位置whereis 我想找到whereis的位置怎么办?

  9. oeasy教您玩转python - 006 - # hello world

    ​ Hello World! 回忆上次内容 python3 的程序是一个 5.3M 的可执行文件 python3 里面全都是 cpu 指令 可以执行的那种指令 我们可以把指令对应的汇编找到 objdu ...

  10. oeasy教您玩转linux-010110内容回顾

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

随机推荐

  1. Kubernetes Pod调度:从基础到高级实战技巧

    本文深入探讨了Kubernetes中的Pod调度机制,包括基础概念.高级调度技术和实际案例分析.文章详细介绍了Pod调度策略.Taints和Tolerations.节点亲和性,以及如何在高流量情况下优 ...

  2. Sass预处理器 常见函数的基本使用

    Sass提供了许多内置模块,其中包含有用的函数(以及mixin).这些模块可以像任何用户定义的样式表一样使用@use规则加载,它们的函数可以像任何其他模块成员一样调用.所有内置模块URL都以sass开 ...

  3. 【前端】css js 全屏 esc退出全屏 滚动条隐藏 兼容火狐,文字超出容器长度省略号显示

    全屏 if (docElm.requestFullscreen) { docElm.requestFullscreen(); } else if (docElm.msRequestFullscreen ...

  4. 详解Spring循环依赖

    一. 什么是循环依赖 循环依赖,就是两个或则两个以上的bean互相依赖对方,最终形成闭环.比如"A对象依赖B对象,而B对象也依赖A对象",或者"A对象依赖B对象,B对象依 ...

  5. go encoding/json 替代者

    https://github.com/json-iterator/go 可以替代官方包encoding/json 提升json编码和解码效率

  6. Android 13 - Media框架(15)- OpenMax(三)

    关注公众号免费阅读全文,进入音视频开发技术分享群! 上一节学习了 media.codec 服务中的部分内容,这一节我们将一起了解 OMX IL 层的 API 以及相关的结构体等内容. 1.相关路径 以 ...

  7. Uni-app极速入门(二) - 登录demo

    需求 背景 1.进入小程序,默认页面判断用户是否已经登录,已经登录则进入首页,没有登录则进入登录页面 2.首页为tabbar,包括首页和设置页,设置页可以退出登录,回到登录页面 页面流转 graph ...

  8. Java常用的三个方法 `wait ` `notify` `notifyAll`

    常用的三个方法 wait notify notifyAll wait();方法使当前线程进入等待状态,直到另一个线程调用该对象的notify()或notifyAll()方法来唤醒它 notify(); ...

  9. 表格补充 表单补充 BFC

    表格标签补充" A,数据行分组 <thead></thead>表头 <tbody></tbody>表体 <tfoot></t ...

  10. NumPy 简单算术:加减乘除及其他运算

    简单算术 你可以直接在 NumPy 数组之间使用算术运算符 + - * /,但本节讨论了一个扩展,其中我们有函数可以接受任何类似数组的对象,如列表.元组等,并根据条件执行算术运算. 条件算术:意味着我 ...