vi命令

       vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器。

       Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved),与vi编辑器完全兼容,而且实现了很多增强功能。

vi编辑器支持编辑模式和命令模式,编辑模式下可以完成文本的编辑功能,命令模式下可以完成对文件的操作命令,要正确使用vi编辑器就必须熟练掌握着两种模式的切换。
默认情况下,打开vi编辑器后自动进入命令模式。从编辑模式切换到命令模式使用“esc”键,从命令模式切换到编辑模式使用“A”、“a”、“O”、“o”、“I”、“i”键。
vi编辑器提供了丰富的内置命令,有些内置命令使用键盘组合键即可完成,有些内置命令则需要以冒号“:”开头输入。常用内置命令如下:
文件列表:指定要编辑的文件列表。多个文件之间使用空格分隔开。
vi编辑器有三种工作方式:命令方式、输入方式和ex转义方式。通过相应的命令或操作,在这三种工作方式之间可以进行转换。

三种

工作

方式

命令方式

在Shell提示符后输入命令vi,进入vi编辑器,并处于vi的命令方式。

此时,从键盘上输入的任何字符都被作为编辑命令来解释,

例如,a(append)表示附加命令,i(insert)表示插入命令,x表示删除字符命令等。

如果输入的字符不是vi的合法命令,则机器发出“报警声”,光标不移动。

另外,在命令方式下输入的字符(即vi命令)并不在屏幕上显示出来,

例如,输入i,屏幕上并无变化,但通过执行i命令,编辑器的工作方式却发生变化:由命令方式变为输入方式。

输入方式
通过输入vi的插入命令(i)、附加命令(a)、打开命令(o)、替换命令(s)、修改命令(c)或取代命令(r)可以从命令方式进入输入方式。
在输入方式下,从键盘上输入的所有字符都被插入到正在编辑的缓冲区中,被当做该文件的正文。
进入输入方式后,输入的可见字符都在屏幕上显示出来,而编辑命令不再起作用,仅作为普通字母出现。
例如,在命令方式下输入字母i,进到输入方式,然后再输入i,就在屏幕上相应光标处添加一个字母i。
由输入方式回到命令方式的办法是按下Esc键。
如果已在命令方式下,那么按下Esc键就会发出“嘟嘟”声。
为了确保用户想执行的vi命令是在命令方式下输入的,不妨多按几下Esc键,听到嘟声后再输入命令。
ex转义方式
vi和ex编辑器的功能是相同的,二者的主要区别是用户界面。在vi中,命令通常是单个字母,如a,x,r等。
而在ex中,命令是以Enter;键结束的命令行。vi有一个专门的“转义”命令,可访问很多面向行的ex命令。
为使用ex转义方式,可输入一个冒号(:)。作为ex命令提示符,冒号出现在状态行(通常在屏幕最下一行)。
按下中断键(通常是Del键),可终止正在执行的命令。
多数文件管理命令都是在ex转义方式下执行的(例如,读取文件,把编辑缓冲区的内容写到文件中等)。转义命令执行后,自动回到命令方式。
例如:则从文件第一行至文件末尾($)将大写I全部替换成小写i。
vi编辑器的三种工作方式之间的转换如图所示:

 

转载于:https://www.cnblogs.com/xiaoxiaoweng/p/7716701.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/428644.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQL基本语法

SQL 基本语法 表库操作 创建表create table 表名(字段名 类型(长度) 约束,字段名 类型(长度) 约束); 创建主键约束id int primary key, primary key(id) // 在创建表最后创建主键约束 删除主键alter table 表名 drop primary key; 主键自动增长主键字段后加auto_increment(只适…

KindEditor富文本编辑器上传功能PHP语言报错问题

问题产生过程:项目原本使用的是Ueditor编辑器,由于其中js代码有使用parentNode获取HTML节点,IE浏览器内核不支持parentNode ,会有二次加载富文本编辑器不渲染的问题,所以更换编辑器为kindeditor,其中上传文…

二、PyCharm 创建Django 第一个项目

PyCharm 下创建Django项目 File->New Project->Django 目录说明: dj: 项目的容器。manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。dj/__init__.py: 一个空文件,告诉 Python 该目录是一个 Python 包。dj/…

linux last failed login表示什么意思_Linux用户

Linux的用户在登录(login)之后,就带有一个用户身份(user ID, UID)和一个组身份(group ID, GID)。在Linux文件管理背景知识中,我们又看到,每个文件又有九位的权限说明,用来指明该文件允许哪些用户执行哪些操作(读、写或者执行)。(参…

CSS3详解:transform、transition

CSS3 transform是什么? transform的含义是:改变,使…变形;转换 CSS3 transform都有哪些常用属性? transform的属性包括:rotate() / skew() / scale() / translate(,) ,分别还有x、y之分&#xf…

c++ 线程什么时候run_多线程并发支撑基础之JAVA内存模型

Java内存模型可以说是Java并发的底层支持,了解Java内存模型才能正在了解Java并发。内存模型在内存中设置一个变量"value 1;"那么其他线程能在什么时候读取到这个结果呢?有可能不能立即甚至永远都读不到。比如指令顺序与源代码中的…

润乾报表 数据集ds1中,数据源xmglxt_x3无数据库连接,且未设定数据连接工厂,请检查数据源设定:...

一、润乾报表错误内容 产生数据工厂: com.runqian.report4.dataset.SQLDataSetFactory 失败 错误来源:: 数据集ds1中,数据源xmglxt_x3无数据库连接,且未设定数据连接工厂,请检查数据源设定: 二、解决方法 同事做的润乾…

WPF中的数据绑定Data Binding使用小结

完整的数据绑定的语法说明可以在这里查看: http://www.nbdtech.com/Free/WpfBinding.pdf MSDN资料: Data Binding: Part 1 http://msdn.microsoft.com/en-us/library/aa480224.aspx Data Binding: Part 2 http://msdn.microsoft.com/en-us/library/aa480…

Swift 将日期转化为字符串,显示上午还是下午

let dateF DateFormatter() // aaa 用于显示上午还是下午,mm和MM 分别表示12小时制和24小时制 dateF.dateFormat "yyyy-MM-dd aaa hh:mm:ss" dateF.amSymbol "上午" dateF.pmSymbol "下午" let str dateF.string(from: Date()) …

车间生产能耗管控方案_如何给生产车间降温 环保空调的这些方案一定能帮到你...

生产车间闷热如何降温?高温闷热带来的影响是非常大,在厂房车间闷热的环境会影响作业人员的情绪,增加燥热感,使工作效率下降,生产力降低,产品质量变差,蕞严重的结果导致客户流失,所以…

app开发人脸登录和指纹登录_易讯云通讯推出“一键登录”,为App登录提供新方案...

移动互联网时代,用户的耐心越来越少,注意力也越来越弱,追求便捷与高效。登录的方式从自定义的账号密码登录,到邮箱登录,到第三方登录与手机验证码登录两种登录方式进行竞争,到现在的个人指纹,人…

可以直接考甲级吗_成人高考可以考本科吗?成人高考可以考研究生吗?

成人高考可以考本科吗?成人高考可以考研究生吗?当你选择利用成人高考的方式来提升学历的时候,那么我们需要了解关于成人高考的知识越多越好。成人高考可以考本科吗?成人高考可以考研究生吗?相信这是很多考生都想要了解的问题。成人高考可以考本科吗?成人高考可…

python变量和字符串

这段时间忘记更博了,学的太投入就一口气把python都学完,做了几个上手的小项目,自娱自乐,把笔记都写在百度云笔记中,现在就开始把所有笔记都粘贴复制分享给大家把 变量变量就是编程最基本的存储单位比如a12,…

Python中曲率与弯曲的转换_黎曼几何学习笔记(3)——共形数量曲率与高斯曲率...

参考文献:(GTM171)Peter《Riemannian Geometry》,Richard Mikula《Notes on the Yamabe Flow》,夏青《曲面上的预定高斯曲率问题》.我声明以下内容我亲自验算过,在文章后面我会给出我的部分验算手稿.设是维紧致可定向黎曼流形&…

Nginx服务基础

Nginx的英文官方网站是http://nginx.org,在这里可以查看Nginx的各个软件版本信息。Nginx软件有三种版本:稳定版、开发版和历史稳定版。开发版更新较快,包含最新的功能和bug的修复,但同时也可能会遇到新的bug,开发版的更…

yum如何安装特定版本的gcc_linux下如何升级python

Python 的概念小编使用的centos7下的python版本为2.7,而python要全面转向python3,故升级pyhton迫在眉睫,今天来介绍一下如何升级centos下的python首先要确定需要升级的python3的版本,比如小编想升级到3.7.0,在linux下输入命令:这条…

java报错空指针异常_夯实基础:认识一下这10 个深恶痛绝的 Java 异常

异常是 Java 程序中经常遇到的问题,我想每一个 Java 程序员都讨厌异常,一 个异常就是一个 BUG,就要花很多时间来定位异常问题。什么是异常及异常的分类请看这篇文章:异常小结:上一张图搞清楚Java的异常机制。今天来列一…

页面分页

需求:当数据很多,一个页面难以展现时,便需要分页来实现。 说在前面: 1.每一页展示的数据可以从数据库中抽取出来,数据查询方法中有limit这个方法,limit x,y —–>x表示从第几条数据开始查询,…

typora打开pdf文件提示文件过大_Win7/Win10拷贝到U盘容量足够却提示文件过大的解决方法...

前段时间,装机之家分享了系统安装的教程,不过有用户在拷贝系统镜像文件的时候,出现了系统提示文件过大,但是U盘容量足够大,这是什么情况呢?下面装机之家分享的Win7/Win10系统下拷贝到U盘容量足够却提示文件…

图像卷积与滤波的一些知识点

http://blog.csdn.net/zouxy09/article/details/49080029 之前在学习CNN的时候,有对卷积进行一些学习和整理,后来就烂尾了,现在稍微整理下,先放上来,以提醒和交流。 一、线性滤波与卷积的基本概念 线性滤波可以说是图像…