追加文本

回忆上节课内容

  • 我们这次深入了 i 命令

    • i 在当前的光标之前插入
    • I 在本行文本的最前面插入
  • 还有一些常用的编辑命令

    • . 重做
    • u 撤销
    • ctrl+r 还原
  • 关于插入,还有什么讲究吗?

类似的命令

  • 还有没有和插入相关的的命令呢??
  • 相类似的命令一定在手册的同一个地方!
  • 我们得还在插入命令的附近找找

插入命令

  • 首先我们找到插入命令的帮助
  • :help insert
  • 简写为 :h i

我们向上翻可以找到 a 命令。

追加文本

  • ia 都是 Insert mode commands
  • 插入位置

    • ibefore cursor 在光标前插
    • aafter cursor 在光标后插
  • 对应命令

    • i 意思是 insert
    • a 意思是 append

切换模式

  • 我们可以 a 进入插入模式
  • esc 回到正常模式
  • 然后反复切换 a、esc
  • 观察左下角提示

    • 左下角有--插入-- 就是插入模式
    • 左下角啥都没有就是正常模式
  • 这就和 i、I 很像

重复、撤销、重做

  • 我们可以 i 进入插入模式
  • 输入 oeasy 空格
  • ctrl+c 回到正常模式
  • 按几次 . 重复一下插入操作
  • u 可以撤销
  • ctrl+r 可以重做

练习

  • 如果我有个网页源文件如下图
  • 光标在当前绿色的位置
  • 如果我想在上个感叹句之后插文字,应该用什么命令呢?

  • 应该用 i
  • 在当前的光标之前插入
  • 如果我想在整行文本之前插入呢?应该用什么?
  • I
  • 在光标所在行文本的最前面插入
  • :h I

继续练习

  • 但如果我的光标在下图的位置呢?
  • 我想在叹号后面插入内容

  • 这个时候应该用 a
  • after cursor 在光标之后所在的叹号之后插入文字
  • 如果我想在本行最后插入呢?
  • A 在本行 最后 插入
  • :h A
  • 就像用 I 在本行最前面插入一样

追加写入

  • 如果我们保存了当前文件 oeasy.log
  • 然后退出了 vi
  • 然后重新进入 vi
  • 在一个未命名文件中写一些东西,比如

    • oeasyo2zo3z
  • :w >> oeasy.log

    • 这就是用追加的方式去写这个log文件
    • log中的东西还都有
    • 最新的追加在最后
  • :w oeasy.log 对比

    • :w oeasy 是覆盖写入
    • >> 意味着追加写入
  • 试试追加

    • 我们可以新建一个
    • 然后追加一些东西写入oeasy.txt
    • 然后我们看看这个oeasy.txt
    • 是不是写进去了

总结

  • 除了 iI 在前面插入文本之外
  • 我们了解到 aA 可以在行末插入文本
  • a 也可以从正常模式切换到插入模式

  • a 插在光标之后
  • A 插在本行最后
  • 关于插入,还玩点儿什么吗?
  • 我们下次再说!

oeasy教您玩转vim - 8 - # 追加文本的更多相关文章

  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. js实现 StringBuilder

    function StringBuilder() { this._stringArray = new Array(); } StringBuilder.prototype.append = funct ...

  2. java 反射——任意类型数组扩容

    //java object[]无法转换为原对象类型,可以使用反射来做. //这里的参数不是传object[] 而是传object. public Object GoodArrayGrow(Object ...

  3. RocketMQ主从同步原理

    一. 主从同步概述 主从同步这个概念相信大家在平时的工作中,多少都会听到.其目的主要是用于做一备份类操作,以及一些读写分离场景.比如我们常用的关系型数据库mysql,就有主从同步功能在. 主从同步,就 ...

  4. Python爬取数据并保存到csv文件中

    1.数据源 2.Python代码 import requests from lxml import etree import csv url = 'http://211.103.175.222:508 ...

  5. Vue cli之项目目录结构

    src 主开发目录,要开发的单文件组件全部在这个目录下的components目录下 static 静态资源目录,所有的css,js文件放在这个文件夹 dist 项目打包发布文件夹,最后要上线单文件项目 ...

  6. CSS操作——边框属性

    1.border-style(边框风格) 定义边框的风格,值可以有: /* none:没有边框,当border的值为none的时候,系统将会忽略[border-color] hidden:隐藏边框,低 ...

  7. 开源Blazor UI组件库精选:让你的Blazor项目焕然一新!

    今天给大家推荐一些开源.美观的Blazor UI组件库,这些优秀的开源框架和项目不仅能够帮助开发者们提高开发效率,还能够为他们的项目带来更加丰富的用户体验. 注:排名不分先后,都是十分优秀的开源框架和 ...

  8. Geatpy学习笔记1:官方案例

    一.入门 1.求解器模式入门 案例 1 import geatpy as ea import numpy as np # 构建问题 r = 1 # 目标函数需要用到的额外数据 @ea.Problem. ...

  9. js浮点数类型

    <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8 ...

  10. react类组件

    使用ES6语法的class创建的组件(有状态组件) 类名称必须要大写字母开头 类组件要继承React.Component父类,从而可以使用父类中提供的方法或者属性 类组件必须提供 render 方法, ...