按行编辑

回忆上节课内容

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

    • 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. 启动Django项目的方式

    方式一: python manage.py runserver 方式二: # 加上监听地址和端口 python manage.py runserver 0.0.0.0:8080 方式三: 使用 Pyc ...

  2. NOIP模拟68

    T1 玩水 解题思路 我们称一个点合法当且仅当 \(s_{i-1,j}=s_{i,j-1}\) . 于是如果一个合法点在它的左上或者右下也可以相邻有一个合法点就是一个合法的图. 树状数组维护即可 co ...

  3. 探索Semantic Plugins:开启大模型的技能之门

    前言 在之前的章节中我们或多或少的已经接触到了 Semantic Kernel 的 Plugins,本章我们讲详细介绍如何使用插件. Semantic Kernel 的一大特点是拥有强大的插件,通过结 ...

  4. undefined和null js数据类型转换自动转换布尔类型

    基本数据类型之undefined和null undefined是表示未找到,是变量没有正确赋值数据时,生成的数据类型 var int : console.log(int)//undefined nul ...

  5. minos 0 前(废)言(话)

    - 首发公号:Rand_cs minos 0 前(废)言(话) 从今天开始开启一个新的系列,讲述虚拟化的那些事儿.时隔上次发文又隔了好几个月了,主要是平时工作比较忙,没太多时间精力维护博客之类的. 前 ...

  6. springboot和springmvc区别:

    spring boot只是一个配置工具,整合工具,辅助工具.springmvc是框架,项目中实际运行的代码Spring 框架就像一个家族,有众多衍生产品例如 boot.security.jpa等等.但 ...

  7. react 使用 error 报错

    在使用react 中报错原因总结 01 // Warning: Can't call setState on a component that is not yet mounted. This is ...

  8. spark读取hive表,org.apache.spark.sql.AnalysisException: Unsupported data source type for direct query on files: hive;

    异常出现:spark读取hive表时,spark.read.table(hive.test) hdp版本的spark默认的catalog是spark,配置项 metastore.catalog.def ...

  9. 【动手学深度学习】第三章笔记:线性回归、SoftMax 回归、交叉熵损失

    这章感觉没什么需要特别记住的东西,感觉忘了回来翻一翻代码就好. 3.1 线性回归 3.1.1 线性回归的基本元素 1. 线性模型 \(\boldsymbol{x}^{(i)}\) 是一个列向量,表示第 ...

  10. 两个防火墙的IPsec

    首先要保证双面都能通信到对面! 拓扑图: P1 没有要求默认就行 P2 没有要求默认就行 对流体 对流体细节问题 预共享密钥要一致 IPsec 创建隧道 添加路由 Ping对方激活ipsec Ping ...