VI是在Linux命令行下常用的文本编辑工具,在服务配置管理过程中经常用到;vi的常见的使用指南,互联网上随处可见,但仅能满足初学者对文档编辑的需求。这里就我自己在使用过程中通常用到的一些技巧操作方法作一个简单总结;重点是在进入vi编辑界面后,对文档的编辑替换方法和多文档的切换做一些提示,同时附带基本操作不详细描述(技巧部分以▲标注)。
内容目录如下
第一课 打开新文件 
第二课 保存文件 
第三课 光标控制和跳转
第四课 文本录入(编辑)
第五课 文本编辑
▲第六课 使用vi打开多个文件

 

(上图为进入vi编辑后的三种模式,注意文中各操作指令所在模式)

第一课 打开新文件 
1、打开新的文件到vi编辑器中
:e filename 
注:上述操作中是指,在命令模式下输入 :(冒号)进入到末行模式,然后使用指令e 打开文档,可在文档名称前输入路径,不输入路径就代表当前目录。
2、打开新的文件到vi编辑器中,并放弃对当前文件的修改
:e! filename
3、 读取文件内容到当前vi编辑器中 
:r filename

第二课 保存文件 
1、 保存对vi编辑器中已打开文件的修改
:w
2、 另存为文件
将vi编辑器中的内容另存为指定文件名
:w myfile
3、未修改退出
没有对vi编辑器中打开的文件进行修改,或已对修改进行了保存,直接退出vi编辑器
:q
3、 保存并退出
对vi编辑器中的文件进行保存并退出vi编辑器
:qw
(▲可在命令模式下使用Shift+两次z键保存退出,个人习惯这样会快些)
4、 不保存退出
放弃对文件内容的修改,并退出vi编辑器
:q!

第三课 光标控制和跳转

1、光标移动和翻页操作 (命令模式下操作)

2、行内快速跳转 (命令模式下操作)

3、文件内行间快速跳转 (行号显示为末行命令,键位操作均在命令模式下)

第四课 文本录入(编辑)
1、从命令模式进入输入模式

2、输入模式的编辑键操作

第五课 文本编辑
1、删除操作 (命令模式下操作)

2、撤销操作 (命令模式下操作)

3、复制与粘贴操作 (命令模式下操作)

4、字符串查找操作

▲5、字符串替换操作

▲第六课 使用vi打开多个文件
在输入vi命令时使用多个文件名作为参数
vi file1 file2 file3 ...
vi多文件操作命令

vi入门到精通的更多相关文章

  1. 15、ASP.NET MVC入门到精通——MVC-路由

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 Routing(路由) – URL url 作为广泛使用的Web用户接口,需要被重视 好的Url应该满足如下条件: URL应为获取某种资源提 ...

  2. Redis从入门到精通:初级篇

    原文链接:http://www.cnblogs.com/xrq730/p/8890896.html,转载请注明出处,谢谢 Redis从入门到精通:初级篇 平时陆陆续续看了不少Redis的文章了,工作中 ...

  3. 【转】Zabbix 3.0 从入门到精通(zabbix使用详解)

    [转]Zabbix 3.0 从入门到精通(zabbix使用详解) 第1章 zabbix监控 1.1 为什么要监控 在需要的时刻,提前提醒我们服务器出问题了 当出问题之后,可以找到问题的根源   网站/ ...

  4. Redis从入门到精通:初级篇(转)

    原文链接:http://www.cnblogs.com/xrq730/p/8890896.html,转载请注明出处,谢谢 Redis从入门到精通:初级篇 平时陆陆续续看了不少Redis的文章了,工作中 ...

  5. CentOS7入门到精通实战课程课后习题

    Linux自动化运维系列①: CentOS7入门到精通实战--->传送门 http://edu.51cto.com/course/13055.html 01.系统入门课后习题 1.口述一个命令执 ...

  6. [转帖]linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习)

    linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习) https://www.cnblogs.com/caozy/p/9261224.html 总结的挺好的 ...

  7. 《LabVIEW 虚拟仪器程序设计从入门到精通(第二版)》一1.3 小结

    本节书摘来自异步社区<LabVIEW 虚拟仪器程序设计从入门到精通(第二版)>一书中的第1章,第1.3节,作者 林静 , 林振宇 , 郑福仁,更多章节内容可以访问云栖社区"异步社 ...

  8. <程序员从入门到精通> -- How

    定位 自己才是职业生涯的管理者,想清楚自己的发展路径: 远期的理想是什么?近期的规划是什么?今日的任务和功课又是什么? 今日之任务或功课哪些有助于近期之规划的实现,而近期之规划是否有利于远期之理想? ...

  9. 【无私分享:从入门到精通ASP.NET MVC】从0开始,一起搭框架、做项目 目录索引

    索引 [无私分享:从入门到精通ASP.NET MVC]从0开始,一起搭框架.做项目(1)搭建MVC环境 注册区域 [无私分享:从入门到精通ASP.NET MVC]从0开始,一起搭框架.做项目(2)创建 ...

随机推荐

  1. linux socket talkclient talkserver示例

    cleint: #define _GNU_SOURCE 1 #include <sys/types.h> #include <sys/socket.h> #include &l ...

  2. windows操作系统查看占用端口的进程

    在开发中有时我们需要确定哪个占用了8080端口,在windows命令行窗口下执行: netstat -aon|findstr 命令执行后打印出来的结果如下所示:

  3. hdu1716排列2(stl:next_permutation+优先队列)

    排列2 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submis ...

  4. jQuery遍历刚创建的元素

    对于刚创建的元素,使用jQuery的each方法,有时候会不起作用.解决方案大致有2种: 1.刚创建完的时候,就使用each方法 $('#btn').on("click", fun ...

  5. C#编程(七十三)----------浅析C#中内存管理

    浅析C#中内存管理 前言:个人觉得C#吸收了各种语言的优点,可谓集大成者,但是不知但,这种集所有语言于一身的情况是好是坏.C#编程的一个优点就是程序员不需要关心具体的内存管理,尤其是垃圾收集器会处理所 ...

  6. Android4.1中BinderService的作用

    http://blog.csdn.net/lsdmx2016/article/details/8772583 Android4.1 中出现了一个新的类,BinderService,所有的Native ...

  7. Java Jackson - Json Polymorphism

    from://http://www.studytrails.com/java/json/java-jackson-Serialization-polymorphism.jsp Jackson prov ...

  8. MEF and AppDomain z

    MEF and AppDomain - Remove Assemblies On The Fly This article will give an idea of what's involved i ...

  9. 危机边缘第五季/全集Fringe迅雷下载

    本季Fringe Season 5 第五季(2012)看点:Walter 用琥珀将Olivia.Peter.Astrid和自己封存,以便在2036年的未来世界实现自己抵抗观察者的完美计划,“解冻”后的 ...

  10. 管理Mysql常用指令

    知识会更新,数据库系统也一样,本文只保证对Mysql 5.7以及MariaDB 10有效. 编码篇 展示当前默认的编码和字符集 SHOW VARIABLES LIKE 'char%'; 修改服务器默认 ...