共计 4093 个字符,预计需要花费 11 分钟才能阅读完成。
这篇文章主要介绍“Linux 中怎么使用 vi 文本编辑器”,在日常操作中,相信很多人在 Linux 中怎么使用 vi 文本编辑器问题上存在疑惑,丸趣 TV 小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux 中怎么使用 vi 文本编辑器”的疑惑有所帮助!接下来,请跟着丸趣 TV 小编一起来学习吧!
一.vi 文本编辑器
配置文件是 Linux 操作系统的显著特征之一,其作用有点类似于 Windows 操作系统中的注册表,只不过注册表是集中管理,而配置文件采用了分散的自由管理方式。
1. 使用 vi 文本编辑器
vi 是一个功能强大的全屏幕文本编辑工具,一直以来都作为类 UNIX 操作系统的默认文本编辑器,vim 是 vi 文本编辑器(简称 vi 编辑器)的增强版本,在 vi 编辑器的基础上扩展了很多实用的功能,但是习惯上也将 vim 称为 vi,为了使用方便,可以设置一个命令别名,将 vi 指向 vim 程序(本文中以 vim 程序为例)具体操作如下:
[root@localhost ~]# alias vi= /usr/bin/vim
[root@localhost ~]# which -a vi vim
2.vi 编辑器的工作模式
vi 编辑器是工作在字符终端环境下的全屏幕编辑器,因此编辑界面相对比较简单,没有为用户提供鼠标操作和菜单系统,而是通过按键命令实现相应的编辑和操作功能,在 v 编辑界面中可以使用三种不同的工作模式,即命令模式,输入模式和末行模式,在不同的模式中能够对文件进行的操作也不相同。
命令模式:启动 vi 编辑器后默认进入命令模式。该模式中主要完成如光标移动、字符串查找,以及删除、复制、粘贴文件内容等相关操作。输入模式:该模式中主要的操作就是录入文件内容,可以对文本文件正文进行修改或添加新的内容。处于输入模式时,vi 编辑器的最后一行会出现“–NSERT–”的状态提示信息。末行模式:该模式中可以设置 vi 编辑环境、保存文件、退出编辑器,以及对文件内容进行查找、替换等操作。处于末行模式时,vi 编辑器的最后一行会出现冒号”:”提示符。
命令模式、输入模式和末行模式是 vi 编辑环境的三种状态,通过不同的按键操作可以在不同的模式间进行切换。例如,从命令模式按:(冒号)键可以进入末行模式,按 a,i,o 等键可以进入输入模式:在输入模式、末行模式均可按 Esc 键返回命令模式,如图所示。
认识了 vi 编辑器的不同编辑模式(状态)以后,下面分别介绍在命令模式、末行模式中的常见操作方法(输入模式用于录入文本内容,不做特别介绍)。
3. 命令模式中的基本操作
执行单独的“vi”命令即可进入 v 编辑器的命令模式,还会显示相关版本信息,如图所示。但更常见的使用方法是指定要编辑的文件名作为参数,若该文件不存在,则 vi 根据该文件名称打开一个新的空文件。
在学习 vi 编辑器的基本操作时,建议复制一个内容较多的系统配置文件进行练习,而不要直接去修改系统文件,以免发生失误造成系统故障。
例如以下操作把系统配置文件 /etc/yum.conf 复制为当前目录下的 vitest.file 文件,然后用 vi 编辑器打开 vitest.file 文件进行编辑。
[root@localhost ~]# cp /etc/yum.conf ./vitest.file
[root@localhost ~]# vi vitest.file
在 vi 编辑器的命令模式中,可以输入特定的按键(称为 vi 操作命令注意区别于 Linux 操作系统命令)进行操作,主要包括模式切换、光标移动、复制、删除、粘贴、文件内容查找及保存和退出等操作,这里只介绍一些最基本且常用的按键命令。
(1)模式切换
在命令模式中,按 a.i.o 等键可以快速切换至输入模式,同时确定插入点的方式和位置,以便录入文件内容,需要返回命令模式时,按 Esc 键即可。常见的几个模式切换键及其作用如下。
a:在当前光标位置之后插入内容。A:在光标所在行的末尾(行尾)插入内容。i:在当前光标位置之前插入内容。I:在光标所在行的开头(行首)插入内容。o:在光标所在行的后面插入一个新行。O:在光标所在行的前面插入一个新行。
(2)移动光标
光标方向的移动,直接按 uarr;,darr;,larr;,rarr; 一西个方向键完成相应的光标移动。
题页移动
按 Page Dewn 键或 Crl+ F 组合键向下期动一整页内容。
技 Pagt lip 或 Cr1+ 8 组合键向上翻动一整页内容。
行内快速跳转
按 Horme 键成“键,散字 0 键将元标快速鹏转到本行的行首。接 End 键或 1 键将光标快速跳转到本行的行尾。在上述按键操作中,PageDown,Pagn Up,homm,End 及方向键同样也可在 w 的输入模式中使用。
入行间快速跳转
使用按键命令 1G 或者 0 可跳转到文件内容的第 1 行。使用按键命令 G 可跳转到文件的最后一行。使用按键会令 #G 可院转到文件中的第# 行(其中“二”号用高体数字替换)。
为了便于查看行间期转效果,这里先学习如何在 v 编辑器中是示行号,只要切换到末行模式并
执行如下的”set cu”命令即可显示行号,执行 set nonu 命令可以取消量示行号.
显示行号后的 vi 编辑器界面显示格式如下(每行开头的数字即行号):
(3)复制、粘贴和删除
删除操作。
按 times; 键或 Delete 键删除光标处的单个字符。使用按键命令 dd 删除当前光标所在行,使用 #dd 的形式还可以删除从光标处开始的# 行内容(其中“#”号用具体数字替换)。使用按键命令 d 删除当前光标之前到行首的所有字符。使用按键命令 ds 删除当前光标处到行尾的所有字符。
复制操作,使用按键命令 Yy 复制当前行整行的内容到剪贴板,使用 #Yy 的形式还可以复制从光标处开始的# 行内容(其中“#”号用具体数字替换). 复制的内容需要粘贴后才能使用。
粘贴操作。在 vi 编辑器中,前一次被删除或复制的内容将会保存到剪切板缓冲区中,按 p 键即可将缓冲区中的内容粘贴到光标位置处之后,按 P 键则会粘贴到光标位置处之前。
(4)查找文件内容
在命令模式中,按 / 键后可以输入指定的字符串,从当前光标处开始向后进行查找(按?键则向前查找). 完成查找后可以按 n、N 键在不同的查找结果中进行选择,例如,输入“/yum”,按 Enter 键后将查找出文件中的“yum”字符串并高亮显示,光标自动移动至第一个查找结果处,按 n 键可以移动到下一个查找结果,如图所示。
(5)撤销编辑及保存和退出
在对文件内容进行编辑时,有时候需要对一些失误的编辑操作进行撤销,这时可以使用按键 u,U 键,其中,u 键命令用于取消最近一次的操作,并恢复操作结果,可以多次重复按 upsilon; 键恢复已进行的多步操作;U 键命令用于取消对当前行所做的所有编辑。当需要保存当前的文件内容并退出 vi 编辑器时,可以使用按键命令 ZZ。
4. 末行模式中的基本操作
在命令模式中按:键可以切换到末行模式,vi 编辑器的最后一行中将显示”:提示符,用户可以在该提示符后输入特定的末行命令,完成如保存文件,退出编辑器,打开新文件,读取其他文件内容及字符串替换等丰富的功能操作。
(1)保存文件及退出 vi 编辑器
保存文件,对文件内容进行修改并确认以后,需要执行如下的“w”命令进行保存。
若需要另存为其他文件,则需要指定新的文件名,必要时还可以指定文件路径。
例如,执行如下的“:w/root/newfile 操作将把当前编辑的文件另存到 /root 目录下,文件名为 newfile.
退出编辑器。需要退出 vi 编辑器时,可以执行“:q 命令,若文件内容已经修改却没有保存,则仅使用”;q”命令将无法成功退出,这时需要使用如下的”q!”命令强行退出(不保存即退出)。
保存并退出。既要保存文件又要退出 vi 编辑器可以使用一条末行命令“:wq”或“:x”实现,其效果与命令模式中的 ZZ 命令相同,具体操作如下:
(2)打开新文件或读入其他文件内容
打开新的文件进行编辑。在当前 vi 编辑器中,执行”:e 新的文件”形式的末行命令可以编辑(Edit)新文件。
例如,执行如下的 lsquo;:e~/initial-setup-ks.cfg”操作将直接打开当前用户宿主目录中的 initial-setup-ks.cfg 文件进行编辑。
:e ~/initial-setup-ks.cfg
在当前文件中读入其他文件内容,执行“r 其他文件”形式的末行命令可以读入(Read)其他文件中的内容,并将其复制到当前光标所在位置。
例如,执行如下的“r/etc/filesystems 操作将把系统文件 /etc/filesystems 中的内容复制到当前文件中。
:r /etc/filesystems
(3)替换文件内容
在 vi 编辑器的末行模式中,能够将文件中特定的字符串替换成新的内容,当需要大批量修改同一内容时,使用替换功能将大大提高编辑效率,使用替换功能时的末行命令格式如下:
:[替换范围]sub/ 旧的内容 / 新的内容[/g]
在上述替换格式中,主要关键字为 sb(Substitute,替换). 也可以简写为 s. 替换范围是可选部分,默认时只对当前行内的内容进行替换,一般可以表示为以下两种形式。
%:在整个文件内容中进行查找并替换。n.m;在指定行数范围内的文件内容中进行查找并替换。
替换格式中最末尾的 / g 部分也是可选内容,表示对替换范围内每一行的所有匹配结果都进行替换,省略 / g 时将只替换每行中的第一个匹配结果。
例如,若要将文档中第 5 行~ 第 15 行中的“initdefault”字符串替换为“DEFAULT”,可以执行以下操作:
:5,15 s /initdefault/DEFAULT/g
当需要对整个文档范围进行查找替换操作时,需要使用“%”符号表示全部,例如,以下操作将会把当前文件中所有的“initdefault”字符串替换为“bootdefault”
:% s /initdefault/bootdefault/g
到此,关于“Linux 中怎么使用 vi 文本编辑器”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注丸趣 TV 网站,丸趣 TV 小编会继续努力为大家带来更多实用的文章!