(值得收藏!)Vi 文本编辑器精讲

简介

vi 编辑器通常被简称为vi, vi 编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下。它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制,由于不需要图形界面,vi是效率很高的文本编辑器。尽管在Linux上也有很多图形界面的编辑器可用,但vi在系统和服务器管理中的功能是那些图形编辑器所无法比拟的。

作用

创建或修改文本文件
维护 Linux系统中的各种配置文件

vi与vim关系

Vi:类Unix系统中默认的文本编辑器
vim:ⅵ 编辑器的增强版本,习惯上也称为vi

一、ⅵ编辑器的工作模式

在ⅵ编辑界面中可以使用三种不同的工作模式,分别为命令模式、输入模式和末行模式,在不同的模式中能够对文件进行的操作也不相同。

● 命令模式:启动ⅵ编辑器后默认进入命令模式。在该模式中主要完成如光标移动、字符串 查找,以及删除、复制、粘贴文件内容等相关操作
● 输入模式:该模式中主要的操作就是录入文件内容,可以对文本文件正文进行修改或者添 加新的内容。处于输入模式时,ⅵ编辑器的最后一行会出现“- INSERT-”的状态提示息。
● 末行模式:该模式中可以设置ⅵ编辑环境、保存文件、退岀编辑器,以及对文件内容进行 查找、替换等操作。处于末行模式时,ⅵ编辑器的最后一行会出现冒号“:”提示符。

命令模式、输入模式和末行模式是ⅵ编辑环境的三种状态,通过不同的按键操作可以在不同的模式间进行切换。例如,从命令模式按冒号“”键可以进入末行模式,而如果按a、ⅰ、o等键可以进入输入模式,在输入模式、末行模式均可按Esc键返回至命令模式。

vi工作模式图:

二、命令模式中的基本操作

温馨提示:
在学习ⅵ编辑器的基本操作时,建议复制一个内容较多的系统配置文件进行练习,而不要直接去修改系统文件,以免发生失误造成系统故障。例如,以下操作把系统配置文件/ etc/inittab复制为当前目录下的 vitest.file文件,然后用ⅵ编辑器打开vitest.file文件进行编辑。

[root(@host~ ]# cp /etc/inittab /vitestfile #做备份
[[email protected]~ ] # vi vitest file

注意事项:

在ⅵ编辑器的命令模式中,可以输入特定的按键(称之为ⅵ操作命令,注意区别于Linuⅸ系统命令)进行操作。主要包括模式切换、光标移动、复制、删除、粘贴、文件内容查找及保存和退出等操作,这里只介绍最基本、最常用的按键命令。

1.模式切换

在命令模式中,使用a、i、o等按键可以快速切换至输入模式,同时确定插入点的方式和位置,以便录入文件内容。需要返回命令模式时,按Esc键即可。
常见的几个模式切换键及其作用如下:

● a:在当前光标位置之后插入内容。
● A:在光标所在行的末尾(行尾)插入内容。
● i:在当前光标位置之前插入内容。
● l:在光标所在行的开头(行首)插入内容。
● o:在光标所在行的后面插入一个新行。
● O:在光标所在行的前面插入一个新行。

2.移动光标

光标方向的移动: 直接使用键盘中的四个方向键↑、↓、←、→完成相应的光标移动

(1) 翻页移动

● 使用 PageDown键或CmH+F组合键向下翻动一整页内容
● 使用 PageUp键或CtH+B组合键向上翻动一整页内容。
● 其中 PageDown键和Pge鍵同样适用于ⅵi的输入模式

(2)行内快速跳转

● 按Home键或^键、数字0键将光标快速跳转到本行的行首。
● 按End键或$键将光标快速跳转到本行的行尾。
● 在上述按键操作中, PageDown、 PageUp、Home、End键及方向键同样也可在ⅵ的输 入 模式中使用

(3)行间快速跳转

● 使用按键命令1G或者g可跳转到文件内容的第1行。
● 使用按键命令G可跳转到文件的最后一行。
● 使用按键命令#G可跳转到文件中的第#行(其中“#”号用具体数字替换)。

为了便于查看行间跳转效果,这里可以先学习一下如何在ⅵ编辑器中显示行号。只要切换到末行模式并执行“setm”命令即可显示行号,执行“ set nonu”命令可以取消显示行号。

:set nu

显示行号后的ⅵ编辑器界面显示格式如下所示(每行开头的数字即行号)

1 inittab is no longer used when using systemd
2 #
3 # ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM
……//省略部分内容

快捷查询图:

3.复制、粘贴和删除

(1)删除操作

● 使用x键或Del按键删除光标处的单个字符。
● 使用按键命令dd删除当前光标所在行,使用#d的形式还可以删除从光标处开始的#行内容 (其 中“#”号用具体数字替换)
● 使用按键命令d^删除当前光标之前到行首的所有字符。
● 使用按键命令心d$s删除当前光标处到行尾的所有字符。

(2)复制操作

● 使用按键命令y复制当前行整行的内容到剪贴板,使用#yy的形式还可以复制从光标处开始的 #行内容(其中“#”号用具体数字替换)。复制的内容需要粘贴后才能使用。在ⅵ编辑器中,前一次被删除或复制的内容将会保存到剪切板缓冲器中,按p键

(3)粘贴操作

即可将缓冲区中的内容粘贴到光标位置处之后,按P键则会粘贴到光标位置处之前在命令模式中,按/键后可以输入指定的字符串,从当前光标处开始向后进行查找

快捷查询图:

4.查找文件内容

(如果按“?”键则向前查找)。完成查找后可以按n、N键在不同的查找结果中进行选择。例如,输入“/ initdefault”,按 Enter键后将查找出文件中的“ f initdefault”字符串并高亮显示,光标自动移动至第一个查找结果处,按n键可以移动到下一个查找结果。

快捷查询图:

5.撤销编辑及保存和退出

在对文件内容进行编辑时,有时候会需要对一些失误的编辑操作进行撤销,这时可以使用按键命令u、U键。其中,u键命令用于取消最近一次的操作,并恢复操作结果,可以多次重复按u键恢复已进行的多步操作:U键命令用于取消对当前行所做的所有编辑。
当需要保存当前的文件内容并退出ⅵ编辑器时,可以按ZZ命令。

快捷查询图:

三、末行模式中的基本操作

在命令模式中按冒号“:”键可以切换到末行模式,ⅵ编辑器的最后一行中将显示“:”提示符,用户可以在该提示符后输入特定的末行命令,完成如保存文件、退出编辑器、打开新文件、读取其他文件内容及字符串替换等丰富的功能操作。

1.保存文件及退出ⅵ编辑器

● 保存文件。对文件内容进行修改并确认以后,需要执行“:w”命令进行保存

:w

若需要另存为其他文件,则需要指定新的文件名,必要时还可以指定文件路径。
例如,执行“ w/root/newfile”操作将把当前编辑的文件另存到/roo目录下,文件名为 newfile

:w/root/newfile

退出编辑器。需要退出ⅵ编辑器时,可以执行“q”命令。若文件内容已经
修改却没有保存,仅使用“:q”命令将无法成功退出,这时需要使用!”
命令强行退出(不保存即退出)

:q!

● 保存并退出。既要保存文件又要退出ⅵ编辑器可以使用一条末行命令“两”
或“:x”实现,其效果与命令模式中的ZZ命令相同

:wq

或者

:x

快捷查询图:

2.打开新文件或读入其他文件内容

● 打开新的文件进行编辑。在当前ⅵ编辑器中,执行“:e新的文件”形式的末行命令可以编辑(Edit)新文件。例如,执行“:e~ /installlog”操作将直接打开当前用户宿主目录中的 install log文件进行编辑

:e~ /install.log

● 在当前文件中读入其他文件内容。执行“x其他文件”形式的末行命令可以读入(Read)其他文件中的内容,并将其复制到当前光标所在位置。例如,执行“r/ etc/filesystems”操作将把系统文件/ etc/filesystems中的内容复制到当前文件中

:r /etc/filesystems

快捷查询图:

3.替换文件内容

在ⅵ编辑器的末行模式中,能够将文件中特定的字符串替换成新的内容,当需要大批量修改同一内容时,使用替换功能将大大提高编辑效率。使用替换功能时的末行命令格式如下所示:

:[替换范围]sub/旧的内容/新的内容[/g]

在上述替换格式中,主要关键字为sub( Substitute,替换),也可以简写为s。替换范围是可选部分,默认时只对当前行内的内容进行替换,一般可以表示为以下两种形式。

● %:在整个文件内容中进行查找并替换。
● n,m:在指定行数范围以内的文件内容中进行查找并替换。
● 最末尾的“g”部分也是可选内容,表示对替换范围内每一行的所有匹配结果都进行替换,省 略“g”时将只替换每行中的第一个匹配结果。

例如,若要将文档中第5~15行的“initdefault”字符串替换为“ DEFAULT”,可以执行以下操作:

:5,15 sub /initdefault/DEFAULT/g

当需要对整个文档范围进行査找替换操作时,需要使用“%”符号表示全部。例如,以下操作将把当前文件中所有的“ initdefault‘”字符串替换为“ bootdefault”。

:% sub /initdefault/bootdefault/g

如果要对每个替换动作提示用户进行确认,可以在替换命令末尾加入“c”命令,如下所示:

:%o sub /initdefault/bootdefault/c

快捷查询图:

总结

● ⅵ、vim是一个全屏幕的文件编辑器, 包括命令模式、输入模式、末行模式、三种使用状 态
● !vim 命令可以直接返回上一次编辑处
● 使用dd+p键可以实现剪切、粘贴功能
● 使用dw可删除整个单词
● 编辑系统配置文件时,记得先备份!
● 建议使用vim编辑器,里面有颜色区分,一般编辑错误会显示红色
● 要想熟练使用vi文本编辑器,平时多用,多操作才能记住这些命令

原文地址:http://blog.51cto.com/13760351/2300300

时间: 2024-08-25 10:16:31

(值得收藏!)Vi 文本编辑器精讲的相关文章

vi文本编辑器的学习

vi文本编辑器的启动与退出 启动:快捷键Ctrl+Alt+t进入终端, 在系统提示符($或#)的提示下,输入vi <文件名称>,可以自动载入你要编辑的文件或者新建一个文件. 退出:在指令模式下键入:q,:q!,:wq,:x可以退出编辑器,但是要注意在gui界面下,可以直接关闭编辑器,但是如果没有保存的话,之前编辑的内容会消失. 1,:wq和:x是存盘退出指令,首先保存好已经编辑的内容,然后退出. 2,:q是退出指令,如果没有保存直接退出的话会提示No write since last chan

Linux vi文本编辑器

vi文本编辑器 1.最基本用法 vi  somefile.4 1/ 首先会进入“一般模式”,此模式只接受各种命令快捷键,不能编辑文件内容 2/ 按i键,就会从一般模式进入编辑模式,此模式下,敲入的都是文件内容 3/ 编辑完成之后,按Esc键退出编辑模式,回到一般模式: 4/ 再按:,进入“底行命令模式”,输入wq命令,回车即可保存退出   2.常用快捷键 一些有用的快捷键(在一般模式下使用): a  在光标后一位开始插入 A   在该行的最后插入 I   在该行的最前面插入 gg   直接跳到文

vi文本编辑器

vi命令 vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器.Linux中的vi编辑器也叫vim,它是vi的增强版(vi Improved),与vi编辑器完全兼容,而且实现了很多增强功能.      vi编辑器支持编辑模式和命令模式,编辑模式下可以完成文本的编辑功能,命令模式下可以完成对文件的操作命令,要正确使用vi编辑器就必须熟练掌握着两种模式的切换.默认情况下,打开vi编辑器后自动进入命令模式.从编辑模式切换到命令模式使用"esc"键,从命令模式切换到编辑模

学习vi和vim编辑器(1):vi文本编辑器

UNIX系统中有很多编辑器,可以分为两种类型:行编辑器和全屏编辑器.行编辑器每次只能在屏幕中显示文件的一行,如ed和ex编辑器,全屏编辑器可以在屏幕上显示文件的一部分. vi(读为vee-eye)编辑器是UNIX_Like操作系统的标准文本编辑器.vi是 visual editor的缩写,vi编辑器属于全屏编辑器,可以在阅读文件时当场就修改,并且立刻看到修改后的结果.对于新手而言,vi编辑器难度还是非常大的,但是一旦熟悉了vi编辑器,可能就再也不想重新使用其他"简单"的编辑器了.学习v

linux学习之命令(1)------ vi文本编辑器

本文是自己学习所做笔记,欢迎转载,但请注明出处:http://blog.csdn.net/jesson20121020 Linux 下最强大的文本编辑器当属Vi/Vim了,其命令之多,如果能灵活运用,在写程序或者编辑文本时,要比其他的文本编辑器更有效率. Vi/Vim没有菜单,只有命令,共有三种工作模式: 分别是命令模式.插入模式和编辑模式,三者关系如下图 Vi常用命令 插入命令: a               在光标后插入 A              在本行末附加文本 i         

Linux学习笔记 (三)Vi文本编辑器

vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它.Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻. 1.vi的基本概念  基本上vi可以分为三种状态,分别是命令模式(command mode).插入模式(Insert mode)和底行模式(last line

vi文本编辑器使用总结

Linux: 使用文本文件来保存配置文件 Linux编辑器:行编辑器:sed  全屏编辑器:nano, vi, vim 文本编辑器:编辑ASCII字符,而非字符处理软件 如 emacs, vi vi: Visual Interface 全屏文本编辑器, nano 模式化的编辑器 moduler vim: vi improved vi的模式: 编辑模式:键盘操作通常被解析为编辑命令: 输入模式:输入模式: 末行模式:vim的内置的命令行接口,执行vim内置命令 编辑模式-->输入模式 i: 在当前

linux之VI文本编辑器

一.简介 1.概念 文本编辑器,类unix操作系统自带文本编辑器.vim增强版本(有些版本不一定自带,如mini版). 2.使用语法 vi 文件 vim 文件 3.vi编辑器的三种模式 命令模式.插入模式.底行模式(w:保存 q:退出 !:强制退出) 二.三种模式命令 1.命令模式 (1)逐字符移动 ↑↓←→  或者 hjkl(左下上右) (2)逐个单词移动 w(W):单词首字母向后移动(忽略符号) b(B):单词首字母向前移动(忽略符号) (3)逐句移动  () :句子标识 (4)逐段移动 {

linux最新版本Centos7命令(2)文件和vi文本编辑器(史上最详细!最简单!拿高薪必备!!!

一.linux目录结构 1.常见子目录的作用 我们扩展一下proc:防止内存,CPU等硬件信息tmp:临时目录lib和lib4:函数库mnt:多媒体 二.我们开始学习命令 1.cat命令:显示出文件的内容 cat命令缺点:在字符界面无法用鼠标去拖动查看内容,而且只显示末尾的内容 2.more命令:全屏分式分页显示文件内容 more命令缺点:翻到最后一页就返回了 3.less命令:与more命令相同,但扩展功能更多 4.查看文件内容,head,tail命令 1.head:查看文件开头的一部分内容(