vi编辑器,全称是visual interface,可以执行输出、删除、查找、替换等众多的文本操作。
vi并不是一个排版程序,不可以对字体、格式、段落等其他的属性进行编排。
vi是全屏文本编辑程序,没有菜单,只有命令。
语法:vi filename 打开或新建文件filename,并将光标置于第一行首
vi +5 filename 打开文件,并将光标置于第五行首
vi + filename 打开文件,并将光标置于最后一行行首
vi +/nimei filename 打开文件,并将光标置于第一个与nimei匹配的行首
vi -r filename 打开上次用vi编辑发生系统崩溃,恢复之前状态
删掉隐藏的.swp文件     原因未保存就关闭vi编辑器,文件只保存在内存中未保存在硬盘中
 

3种模式
命令模式进入输入模式:a 添加 在光标后添加
A 添加 在光标所在行行尾添加
i 插入 在光标前添加
I 插入 在光标所在行行首添加
o 在光标所在行下添加一行并进入输入模式
O 在光标所在行上添加一行并进入输入模式
输入模式进入命令模式:esc
命令模式进入末行模式::
末行模式进入命令模式:esc
命令模式下的操作
 
重点:命令模式可以切入到编辑模式,同理命令模式可以切换到末行模式,但编辑模式和末行模式不能互相切换
复制/粘贴
y 复制
p 粘贴
yy 是指将复制光标所在行(整行)
范围
e 光标所在位置到该字的最后一个字母
w 光标所在位置到下个字的第一个字母
b 光标所在位置到上个字的第一个字母
$ 光标所在位置到该行的最后一个字母
0 光标所在位置到该行第一个字母
) 光标所在位置到下个句子第一个字母
( 光标所在位置到该句子的第一个字母
} 光标所在位置到该段落最后一个字母
{ 光标所在位置到该段落的第一个字母
删除/修改
x 删除光标所在字符
dd 删除光标所在的行
r 修改光标所在字符,r后是要修正的字符
R 进入替换状态,输入的文本会覆盖原先资料,直到按ESC回到命令模式为止
s 删除光标所在字符,进入输入模式
S 删除光标所在的行,进入输入模式
cc 修改整行文字
u 撤消上次操作
. 重复上次操作
末行模式下的操作
查找替换
  • 查找/ ?(加你找的单词)
  • 定位光标:输入行号n
  • 使用字符串2替换当前行首次出现的字符串1:s/字符串1/字符串2
  • 使用字符串2替换当前行所有的字符串1:s/字符串1/字符串2/g
  • 将n1行到n2行中所有字符串1替换为字符串2:2,3 s/字符串1/字符串2/g
  • 将光标所在行到n行,中的字符串1替换为字符串2:.,5 s/字符串1/字符串2/g
  • 替换全文的字符串1为字符串2:% s/字符串1/字符串2/g
 
wq保存/退出
q 退出
w 保存
x 保存退出
! 强制

1月4日笔记 (vi编辑器)更新...的更多相关文章

  1. 1月4日笔记 vi编辑器

      Penn   vi编辑器,全称是visual interface,可以执行输出.删除.查找.替换等众多的文本操作. vi并不是一个排版程序,不可以对字体.格式.段落等其他的属性进行编排. vi是全 ...

  2. Unix\Linux | 总结笔记 | vi编辑器

    0 目录   新建文件夹   常用的命令    三种模式及切换    vi编辑器的启动选项及后续相关操作  其他--替换文本  其他--写入另一个文件     1  新建文件夹  vi [目录名/文件 ...

  3. linux 基本命令2(12月27日笔记)

    1.ifconfig 作用:用于操作网卡相关的指令 简单语法:#ifconfig      (获取网卡信息)   2.reboot 作用:重新启动计算机 语法1:#reboot             ...

  4. linux 基础命令(12月25日笔记)

    1.  cp指令指令:cp          (copy,复制)作用:复制文件/文件夹到指定的位置语法:#cp [-r] 被复制的文档路径 文档被复制到的路径选项:         -r:recurs ...

  5. 关于IIS的4月26日笔记

    常用命令: 31. regedit.exe----注册表 48. msconfig.exe---系统配置实用程序  80. services.msc---本地服务设置 93. regedit.exe- ...

  6. 5月23日笔记-js绑定事件、解绑事件、复合事件

    each() $("p").each(function(i,ele){ //alert(ele.innerHTML); alert($("p:eq("+i+&q ...

  7. 阳明-K8S训练营全部文档-2020年08月11日14:59:02更新

    阳明-K8S训练营全部文档 Docker 基础 简介 安装 基本操作 Dockerfile Dockerfile最佳实践 Kubernetes 基础 简介 安装 资源清单 Pod 原理 Pod 生命周 ...

  8. WPS 表格筛选两列相同数据-完美-2017年11月1日更新

    应用: 1.选出A列中的数据是否在B列中出现过: 2.筛选出某一批序号在一个表格里面的位置(整批找出) 3.其实还有其他很多应用,难描述出来... ... A列中有几百的名字,本人想帅选出B列中的名字 ...

  9. GIS大讲堂内所有讲座的索引(更新至2008年6月26日)(转)

    转自:http://www.cnblogs.com/xiexiaokui/archive/2008/11/20/1337934.html GIS大讲堂内所有讲座的索引(更新至2008年6月26日)   ...

随机推荐

  1. mybatis源码解析6---MappedStatement解析

    MappedStatement类位于mybatis包的org.apache.ibatis.mapping目录下,是一个final类型也就是说实例化之后就不允许改变 MappedStatement对象对 ...

  2. .pages怎么在windows上打开?Windows下打开在Mac中编辑的.pages文件方法

    .pages怎么在windows上打开?Windows下打开在Mac中编辑的.pages文件方法 1.最简单的方法是修改后缀名为.zip然后解压,解压后就可以看到一张图片,这个就是文档内容了. 2.更 ...

  3. HTTPS实战之单向验证和双向验证

    转载自:https://mp.weixin.qq.com/s/UiGEzXoCn3F66NRz_T9crA 原创: 涛哥 coding涛 6月9日 作者对https 解释的入目三分啊 (全文太长,太懒 ...

  4. 委托、匿名函数到lambda表达式

    在C#2.0之前就有委托了,在2.0之后又引入了匿名方法,C#3.0之后,又引入了Lambda表达式,他们三者之间的顺序是:委托->匿名表达式->Lambda表达式,微软的一步步升级,带给 ...

  5. js call 和 apply方法记录

    最近看到一篇很好的讲解apply和call的文章转了过来,若涉及版权问题请联系本人删除 1. 每个函数都包含两个非继承而来的方法:call()方法和apply()方法. 2. 相同点:这两个方法的作用 ...

  6. easyui datagrid 遇到的坑 cannot read property ·· pageNum bug and so on

    1 本人刚刚接到一个bug,就是初始化时若设置了datagrid到指定页数,点击下一页显示不对,4 --> ‘4’+1=41的字符串形式,再点击超出页码范围直接到最后一页: 原因:因为 page ...

  7. Spring Boot REST API 自动化测试

    Spring Boot需要写大量的Junit代码来测试REST API, 这点让不了解代码的人很头疼.如果使用REST client工具测试REST API,很多REST Client工具是不支持自动 ...

  8. P3243 [HNOI2015]菜肴制作(拓扑排序)

    P3243 [HNOI2015]菜肴制作 题目误导你正着做拓扑排序,然鹅你可以手造数据推翻它.于是就只能倒着做 我们开个优先队列,每次把可填的最大的编号取出来搞,最后倒着输出拓扑序就好辣 #inclu ...

  9. Docker 微服务教程(搭建真正的网站)

    Docker 是一个容器工具,提供虚拟环境.很多人认为,它改变了我们对软件的认识. 站在 Docker 的角度,软件就是容器的组合:业务逻辑容器.数据库容器.储存容器.队列容器......Docker ...

  10. Python 3 实现色情图片识别

    Python 3 实现色情图片识别 项目简介 项目内容 本实验将使用 Python3 去识别图片是否为色情图片,我们会使用到 PIL 这个图片处理库,会编写算法来划分图像的皮肤区域. 项目知识点 Py ...