oeasy教您玩转vim - 8 - # 追加文本
追加文本
回忆上节课内容
我们这次深入了 i 命令
- i 在当前的光标之前插入
- I 在本行文本的最前面插入
还有一些常用的编辑命令
- . 重做
- u 撤销
- ctrl+r 还原
- 关于插入,还有什么讲究吗?
类似的命令
- 还有没有和插入相关的的命令呢??
- 相类似的命令一定在手册的同一个地方!
- 我们得还在插入命令的附近找找
插入命令
- 首先我们找到插入命令的帮助
:help insert
- 简写为
:h i
我们向上翻可以找到 a
命令。
追加文本
i
和a
都是Insert mode commands
插入位置
i
是before cursor
在光标前插a
是after 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
- 是不是写进去了
总结
- 除了
i
、I
在前面插入文本之外 - 我们了解到
a
、A
可以在行末插入文本 a
也可以从正常模式切换到插入模式
a
插在光标之后A
插在本行最后- 关于插入,还玩点儿什么吗?
- 我们下次再说!
oeasy教您玩转vim - 8 - # 追加文本的更多相关文章
- oeasy教您玩转vim - 56 - # 字符可视化模式
可视化编辑 回忆上节课内容 我们学习了关于模式匹配中使用参数 单个参数 :%s/<h2>\(.*\)</h2>/ - \1/g 多个参数 :%s/<img src=\ ...
- oeasy教您玩转vim - 57 - # 行可视化
可视化编辑 回忆上节课内容 上次我们了解到可视模式 其实可视化对应三种子模式 字符可视模式 v 行可视模式 大写V 块可视模式ctrl+v 我们先来了解字符可视化模式 快捷键 v 可配合各种mot ...
- oeasy教您玩转vim - 53 - # 批量替换
查找细节 回忆上节课内容 我们温习了关于搜索的相关内容 /正向,?反向 n保持方向,N改变方向 可以设置 是否忽略大写小写 是否从头开始查找 是否高亮显示 还有一些正则表达式的使用方法 行头行尾 ^$ ...
- oeasy教您玩转linux010203显示logo
我们来回顾一下 上一部分我们都讲了什么?
- oeasy 教您玩转linux010101查看内核uname
linux([?l?n?ks]) 是什么????? 咱们这次讲点什么呢?这次咱们讲讲这个 linux([?l?n?ks]),什么是 linux([?l?n?ks])呢?这linux([?l?n?ks] ...
- oeasy教您玩转linux010202软件包管理apt
顾一下 上一部分我们都讲了什么?
- oeasy教您玩转linux010201持续输出yes
我们来回顾一下 上一部分我们都讲了什么?
- oeasy教您玩转linux010108到底哪个which
到底哪个which 回忆上次内容 我们上次讲了查找命令位置whereis 我想找到whereis的位置怎么办?
- oeasy教您玩转python - 006 - # hello world
Hello World! 回忆上次内容 python3 的程序是一个 5.3M 的可执行文件 python3 里面全都是 cpu 指令 可以执行的那种指令 我们可以把指令对应的汇编找到 objdu ...
- oeasy教您玩转linux-010110内容回顾
我们来回顾一下 我们都讲了什么?
随机推荐
- js实现 StringBuilder
function StringBuilder() { this._stringArray = new Array(); } StringBuilder.prototype.append = funct ...
- java 反射——任意类型数组扩容
//java object[]无法转换为原对象类型,可以使用反射来做. //这里的参数不是传object[] 而是传object. public Object GoodArrayGrow(Object ...
- RocketMQ主从同步原理
一. 主从同步概述 主从同步这个概念相信大家在平时的工作中,多少都会听到.其目的主要是用于做一备份类操作,以及一些读写分离场景.比如我们常用的关系型数据库mysql,就有主从同步功能在. 主从同步,就 ...
- Python爬取数据并保存到csv文件中
1.数据源 2.Python代码 import requests from lxml import etree import csv url = 'http://211.103.175.222:508 ...
- Vue cli之项目目录结构
src 主开发目录,要开发的单文件组件全部在这个目录下的components目录下 static 静态资源目录,所有的css,js文件放在这个文件夹 dist 项目打包发布文件夹,最后要上线单文件项目 ...
- CSS操作——边框属性
1.border-style(边框风格) 定义边框的风格,值可以有: /* none:没有边框,当border的值为none的时候,系统将会忽略[border-color] hidden:隐藏边框,低 ...
- 开源Blazor UI组件库精选:让你的Blazor项目焕然一新!
今天给大家推荐一些开源.美观的Blazor UI组件库,这些优秀的开源框架和项目不仅能够帮助开发者们提高开发效率,还能够为他们的项目带来更加丰富的用户体验. 注:排名不分先后,都是十分优秀的开源框架和 ...
- Geatpy学习笔记1:官方案例
一.入门 1.求解器模式入门 案例 1 import geatpy as ea import numpy as np # 构建问题 r = 1 # 目标函数需要用到的额外数据 @ea.Problem. ...
- js浮点数类型
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...
- react类组件
使用ES6语法的class创建的组件(有状态组件) 类名称必须要大写字母开头 类组件要继承React.Component父类,从而可以使用父类中提供的方法或者属性 类组件必须提供 render 方法, ...