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. 使用Edge模式通知Internet Explorer以最高级别的可用模式显示内容

    一.EasyUI$的window('open')在IE8下兼容性问题 今天在公司使用EasyUI的$('#win').window('open');方法打开一个window窗体时发现EaysUI的脚本 ...

  2. Windows XP UDF 2.5 补丁,播放蓝光ISO光盘必备

    蓝光光盘的文件系统是UDF2.5,Windows XP及以下的操作系统默认不能支持这个文件系统.当我们在XP系统中使用蓝光光盘或蓝光ISO文件时,就会提示“Windows不能从此盘读取,此盘可能已损坏 ...

  3. sqlite 截取字符串函数substr

    函数:substr(string string,num start,num length) 用法: string为字符串: start为起始位置:字符串的第一个字符的位置为1,不是从0开始计算 len ...

  4. 查询死锁的Session SQL 语句

    /* Formatted on 2018/3/14 23:34:49 (QP5 v5.256.13226.35538) */ SELECT dob.object_name table_name , l ...

  5. Netty之解决TCP粘包拆包(自定义协议)

    1.什么是粘包/拆包 一般所谓的TCP粘包是在一次接收数据不能完全地体现一个完整的消息数据.TCP通讯为何存在粘包呢?主要原因是TCP是以流的方式来处理数据,再加上网络上MTU的往往小于在应用处理的消 ...

  6. iOS 去掉UITableView风格为group时候的最顶部的空白距离

    CGRect frame=CGRectMake(0, 0, 0, CGFLOAT_MIN);   self.tableView.tableHeaderView=[[UIView alloc]initW ...

  7. ASP.NET MVC:4 Ways To Prevent Duplicate Form Submission(转载)

    原文地址:http://technoesis.net/prevent-double-form-submission/. Double form submission in a multi-user w ...

  8. Robotframework(3):使用pycharm编写和运行RF脚本

    转自:http://blog.csdn.net/ccggaag/article/details/77529724 我们在使用Robotframework时,经常编写脚本的人或许会不习惯,不过没关系!我 ...

  9. Android让手机主动亮屏的代码

    我们在做电子阅读器的时候可能会要求屏幕保持常亮,不希望它熄灭.它的原理也是利用系统服务,来操纵底层设备. 一.系统服务——PowerManager PowerManager.java就是管理我们电源方 ...

  10. Eclipse启动时提示Fail to create the Java Virtual Machine的解决方法

    这个错误是Eclipse里面的一个bug,我们通过如下的设置就可以解决它. 打开eclipse安装目录下的eclipse.ini文件: 将其中的256m改为128m,512m改为256m,1024m改 ...