插入新行

回忆上节课内容

  • 上上次是 iI 在光标前面插入
  • 又加了 aA 可以在光标后面插入

    • a 是在光标后插入
    • A 是在当前行最后插入

  • 关于插入,还有什么命令吗?
  • 我们继续去查阅 help
:h i

我们发现有这样一组命令

看起来的意思是

  • o

    • 当前行 下面 插入一个空行
    • 然后切换到插入模式
  • O

    • 在当前行 上面 插入一个空行
    • 然后切换到插入模式
  • 一个上面 ,一个

上方 插新行

  • 当前绿色的光标在第6行中间

    • 如果不显示行号,就输入 :set nu
    • 当前模式是正常模式
  • 如果我按下 o

    • 就会在第 7 行插入一个新行
    • 并且模式进入插入模式
  • 按 ctrl+c

    • 可以回正常模式
  • o、ctrl+c

    • 可以反复切换

下方 插新行

  • u 回到最初
  • 回到第 6 行中间位置
  • 我按下 O

    • 就在第 6 行插入一个空行
    • 原来的第 7 行,变成了第 6 行
    • 并把模式改为输入模式

回忆以前学的切换

  • i、I和a、A
    都可以进入插入模式

    • i 在光标前插入
    • I 在本行最前插入
    • a 在光标后插入
    • A 在本行最后插入
  • ctrl+ c退回到正常模式
  • 现在又加了 o、O

    • o 本行下方插入一个新行
    • O 本行上方插入一个新行
  • 再练练重复、撤销、重做

    • 按几次 . 重复插入操作
    • u 可以撤销
    • ctrl+r 可以重做

保存并退出

  • :wq 保存并退出

    • :w 是保存
    • :q 是退出
    • 和在一起就是 :wq
    • 保存并退出
  • 我们可以使用 :help :wq 查看帮助

总结

  • 我们这次学了两个新的东西 oO
  • o 是在当前行下方插入新行
  • O 是在当前行上方插入新行
  • 这样我们就有大小写的 iao 可以从正常模式切换到输入模式了。

  • 我们还把 :w:q 合成了 :wq
  • 现在基本上简单的编辑没有什么问题了
  • 下一步就是提高效率,用最快的方式在屏幕上移动
  • 怎么做呢?
  • 我们下次再说!

oeasy教您玩转vim - 9 - # 换行插入的更多相关文章

  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. 记一次asp.net 8 服务器爆满的解决过程

    1.描述一下服务器配置: 一台2c4g的centos,做api接口反代 一台8c16g的windows 2019 作为实际服务器,跑了iis,sql server,mongodb,redis 2.业务 ...

  2. 一个与 WSL2 建立远程的简单方法

    前言 众所周知,windows 会通过虚拟交换机给本机和 wsl2(Linux 子系统)分别分配 ip.于是本机重启或重启 wsl 服务的时候会重新分配 ip.之前所作的端口转发,监听之类的都会失效. ...

  3. WPF实现轮播图

    1.效果图 2.前端代码 <Window x:Class="LiveChartDemo.View.CarouselView" xmlns="http://schem ...

  4. SpringBoot自定义拦截器(多个拦截器)

    在 Spring Boot 中要实现自定义拦截器需要实现 HandlerInterceptor 接口,并重写 preHandle.postHandle 和 afterCompletion 方法: im ...

  5. Fluter 编译第一个iOS应用

    一.流程说明 1)fluter是一个跨平台UI库,可以一份界面代码在iOS和Android上面运行 2)在Mac上面安装Fluter的环境,相对比较简单,通过简单的命令行可以设置环境 3)可以使用特定 ...

  6. C#笔记(1)窗体

    1. 隐藏TabPage 在使用TabControl控件时,希望隐藏其中某个选项卡(即TabPage).设置该TabPage的父容器为null 即可,如TabPage.Parent = null .如 ...

  7. 《python核心编程《第二版》》笔记章节索引

    本文章作为我的其它一系列关于<python核心编程<第二版>>的笔记的文章索引. 第一章:Python-快速入门:https://www.cnblogs.com/mrlayfo ...

  8. vue计算属性computed

    模板中放入太多的逻辑会让模板过重且难以维护,使用计算属性可以让模板变得简洁易于维护.计算属性是基于它们的响应式依赖进行缓存的,计算属性比较适合对多个变量或者对象进行处理后返回一个结果值,也就是数多个变 ...

  9. Kettle调优教程(推荐收藏)

    1.调整JVM大小 linux文件路径:data-integration/spoon.sh windows路径: -Xms1024m:设置JVM初始内存为1024m.此值可以设置与-Xmx相同,以避免 ...

  10. C#开发的目录图标更改器 - 开源研究系列文章 - 个人小作品

    因为有一些项目保存在文件夹里,然后想着用不同的图标来显示该文件夹,但是Windows提供的那个修改文件夹的操作太麻烦,需要的操作太多(文件夹里鼠标右键,属性,自定义,更改图标,选择文件,选择图标,点击 ...