首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

10分钟Linux-vi编辑器

01

什么是vi编辑器

vi命令是Linux下的全屏幕文本编辑,vi编辑器提供了丰富的编辑功能。这个编辑器十分简陋,只有命令,没有菜单,对于初学者很不友好。

vi 是 “Visual interface”的简称,它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制,这是其他编辑程序所没有的

vi 不是一个排版程序,它不像MS Word 或 WPS 那样可以对字体、格式、段落等其他属性进行编排,它只是一个文本编辑程序 。

02

vi的三种工作模式

vi编辑器是一个全屏幕的文本编辑器,它工作在三种模式下:分别是命令模式、输入模式和末行模式。如下图所示:

三种模式的用途

1

命令模式:启动vi编辑器后默认进入命令模式,该模式中主要完成如光标移动、字符串查找,以及删除、复制、粘贴文件内容等相关操作。

2

输入模式:该模式中主要的操作就是录入文件内容,可以对文本文件正文进行修改、或者添加新的内容。处于输入模式时,vi编辑器的最后一行会出现“-- INSERT --”的状态提示信息。

3

末行模式:该模式中可以设置vi编辑环境、保存文件、退出编辑器,以及对文件内容进行查找、替换等操作。处于末行模式时,vi编辑器的最后一行会出现冒号“:”提示符

03

vi的三种工作模式切换

vim编辑器,可以分别从命令模式切换到输入模式和末行模式,也可以从末行模式或输入模式切换到命令模式,但是输入模式与末行模式之间不能互相切换。

vim编辑器各个模式的切换,如下图所示:

从命令模式切换到输入模式

当需要往文档中输入资料时,必须切换到输入模式(插入模式),可用下面几个命令进入输入模式:

增加(append)

a 从光标所在位置后面开始输入资料,光标后的资料随增加的资料向后移动。

A 从光标所在行最后面的位置开始输入资料。

插入(insert)

i 从光标所在位置前面开始插入资料,光标后的资料随新增资料向后移动。

I 从光标所在行的第一个非空白字符前面开始插入资料。

开始(open)

o 在光标所在行下新增一行并进入输入模式。

O 在光标所在行上方新增一行并进入输入模式。

从输入模式切换回命令模式

当你编辑完成后,可以按键盘上【Esc】键,返回命令模式。

从命令模式切换到末行模式

在命令模式下输入命令“:”即可进入末行模式。切换到末行模式后,屏幕的左下方会出现“:”字样。

04

进入和退出vi

前面,我们知道了各个模式如何切换,现在我们开始尝试的去试试各个按键,让我们从进入和退出开始vi编辑器之旅吧。

进入vi

在Linux Shell命令行下键入vi 即可进入 vi 界面。还有如下几种进入方法:

(1)打开或新建文件filename ,并将光标置于第一行首

vi filename

(2)打开文件filename ,并将光标置于第n行首

vi +n filename

(3)打开文件filename ,并将光标置于最后一行首

vi + filename

(4)打开文件filename ,并将光标置于第一个与pattern 匹配的串处

vi +/pattern filename

(5)打开上次用vi编辑时发生系统崩溃,恢复filename

vi -r filename

退出vi

要退出vi 的编辑环境,可以在末行模式下键入q 命令,如果对文件做过修改,则会出现“No write since last change(use ! to override)”提示,此时可以用q!命令强制退出(不保存退出),或用wq 命令保存退出。

小技巧

要切换命令模式,则按【Esc】键,如果不清楚现在是处于何种模式,可以多按几次【Esc】键,系统会发出嘟、嘟……的响声以确定进入命令模式。

05

命令模式下的指令

命令模式下主要完成如光标移动、字符串查找,以及删除、复制、粘贴文件内容等相关操作。

移动光标

删除/替换

复制/粘贴

查找/撤销/重复

06

末行模式的指令

末行模式可以设置vi编辑环境、保存文件、退出编辑器,以及对文件内容进行查找、替换等操作。

保存和退出

文本的查找替换

其它操作

设置vi环境

可以在用户的家目录下,创建.vimrc文件,将要设置的vi环境的值写入该文件,方便快速编辑。

关注我们

云运维联盟

专注Linux云平台运维

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180613G1SNT200?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券