Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Linux系列 使用vi文本编辑器

Linux系列 使用vi文本编辑器

作者头像
网络豆
发布于 2023-10-15 07:03:47
发布于 2023-10-15 07:03:47
52100
代码可运行
举报
文章被收录于专栏:python基础文章python基础文章
运行总次数:0
代码可运行

 前言

本章将会讲解使用vi文本编辑器

一.vi文本编辑器

配置文件是Linux操作系统的显著特征之一,其作用有点类似于Windows操作系统中的注册表,只不过注册表是集中管理,而配置文件采用了分散的自由管理方式。本节将学习如何使用Linux字符操作界面中的文本编辑器——vi,以便更好地管理和维护系统中的各种配置文件。

1.使用vi文本编辑器

vi是一个功能强大的全屏幕文本编辑工具,一直以来都作为类UNIX操作系统的默认文本编辑器,vim是vi文本编辑器(简称vi编辑器)的增强版本,在vi编辑器的基础上扩展了很多实用的功能,但是习惯上也将vim称为vi,为了使用方便,可以设置一个命令别名,将vi指向vim程序(本文中以vim程序为例)具体操作如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[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文件进行编辑。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[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)移动光标

光标方向的移动,直接按↑,↓,←,→一西个方向键完成相应的光标移动。

题页移动

按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)复制、粘贴和删除

删除操作。

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

复制操作,使用按键命令Yy复制当前行整行的内容到剪贴板,使用#Yy的形式还可以复制从光标处开始的#行内容(其中“#”号用具体数字替换).复制的内容需要粘贴后才能使用。

粘贴操作。在vi编辑器中,前一次被删除或复制的内容将会保存到剪切板缓冲区中,按p键即可将缓冲区中的内容粘贴到光标位置处之后,按P键则会粘贴到光标位置处之前。


(4)查找文件内容

在命令模式中,按/键后可以输入指定的字符串,从当前光标处开始向后进行查找(按?键则向前查找).完成查找后可以按n、N键在不同的查找结果中进行选择,例如,输入“/yum”,按Enter键后将查找出文件中的“yum”字符串并高亮显示,光标自动移动至第一个查找结果处,按n键可以移动到下一个查找结果,如图所示。


(5)撤销编辑及保存和退出

在对文件内容进行编辑时,有时候需要对一些失误的编辑操作进行撤销,这时可以使用按键u,U键,其中,u键命令用于取消最近一次的操作,并恢复操作结果,可以多次重复按υ键恢复已进行的多步操作;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)新文件。

例如,执行如下的‘:e~/initial-setup-ks.cfg”操作将直接打开当前用户宿主目录中的initial-setup-ks.cfg文件进行编辑。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
:e ~/initial-setup-ks.cfg

在当前文件中读入其他文件内容,执行“r其他文件”形式的末行命令可以读入(Read)其他文件中的内容,并将其复制到当前光标所在位置。

例如,执行如下的“r/etc/filesystems操作将把系统文件/etc/filesystems中的内容复制到当前文件中。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
:r /etc/filesystems

 (3)替换文件内容

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[替换范围]sub/旧的内容/新的内容[/g]

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

  • %:在整个文件内容中进行查找并替换。
  • n.m;在指定行数范围内的文件内容中进行查找并替换。

替换格式中最末尾的/g部分也是可选内容,表示对替换范围内每一行的所有匹配结果都进行替换,省略/g时将只替换每行中的第一个匹配结果。

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
:5,15 s /initdefault/DEFAULT/g

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
:% s /initdefault/bootdefault/g
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-07-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Linux D02 VI编辑器_终端编辑器(重点重点重点)
在没有图形界面的环境下, 要编辑文件, vi是最佳选择 每一个使用linux的程序员,都应该或多或少的学习一些vi的常用命令
用户4870038
2021/02/05
1.1K0
Linux D02 VI编辑器_终端编辑器(重点重点重点)
Linux之vi 文本编辑命令
vi编辑器,通常称之为vi,是存在于Unix和Linux系统中的文本编辑程序。功能强大,可执行输出、删除、查找、替换、块操作等,也可根据自己的需要对其进行定制。
可可的测试小栈
2020/04/07
7.9K0
Linux之vi 文本编辑命令
【Linux笔记】Vi/Vim编辑器
vi编辑器是Linux和Unix上最基本的文本编辑器(所有版本的 Linux 都带有 vi 编辑器),工作在字符模式下。由于不需要图形界面,vi是效率很高的文本编辑器。尽管在Linux上也有很多图形界面的编辑器可用,但vi在系统和服务器管理中的功能是那些图形编辑器所无法比拟的。Vim 是Vi improved的缩写,是 vi 的改进版。
正念君
2019/06/26
1.1K0
【Linux笔记】Vi/Vim编辑器
快速学习Linux-VI编辑器
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
cwl_java
2019/11/14
2.4K0
linux之文本编辑器
管理员在进行系统操作的时候,不可避免地会对文本进行修改,如进行各种服务程序配置文件的改动,使程序对用户提供不同的服务效果。在本章我们向大家介绍Linux上常见的编辑器ed、vi、emacs,同时以vi为例,讲解Linux中的文本编辑,为大家成为优秀的系统管理员打下基础。
全栈程序员站长
2022/09/18
2.3K0
linux之文本编辑器
Linux Vim编辑器的基本使用
vi(visual editor)编辑器通常被简称为vi,它是Linux和Unix系统上最基本的文本编辑器,类似于Windows 系统下的notepad(记事本)编辑器。
全栈程序员站长
2022/09/18
3.3K0
Linux Vim编辑器的基本使用
Linux中Vi编辑器的高级用法详解
Vi是Linux系统中一款功能强大的文本编辑器,尤其在没有图形界面的服务器环境中,它几乎是唯一的选择。尽管界面简单,但Vi凭借丰富的命令和高效的编辑能力,赢得了程序员们的青睐。本文将详细介绍Vi编辑器的高级用法,包括常用命令、分屏操作、代码折叠、高效编辑技巧等,并附上详细的代码示例,帮助读者快速掌握Vi的高级技巧。
炒香菇的书呆子
2024/10/09
3740
快速上手 Vim 编辑器【Linux必知】
如果有兴趣的朋友,可以看我之前写过的几篇文章,Linux我也用的不是特别多,也只是一个在学习途中的菜鸡,整理点文章,顺便总结,顺便与大家一起交流~
BWH_Steven
2020/05/11
1K0
快速上手 Vim 编辑器【Linux必知】
Linux文本编辑器——vim编译器的全面讲解
文本编辑软件在任何操作系统上都是必备的软件。我们在 Linux 上不缺乏非常现代化的编 辑软件,但是它们都是基于 GUI(图形界面)的编辑软件。 正如你所了解的,Linux 真正的魅力在于命令行。当你正在用命令行工作时,你就需要一个可以在控制台窗口运行的文本编辑器。
神的孩子都在歌唱
2025/03/05
2380
Linux文本编辑器——vim编译器的全面讲解
Linux Vi 文本编辑器常用命令
** 引言:在Linux中我们常用的文本编辑器有Vi,Vim(Vi的增强版)。而且vi编辑器不仅仅是适用于Linux,它是所有Unix以及Linux系统下的标准编辑器,几乎适用于Unix、Linux系统的所有版本。vi或vim虽然没有Windows操作系统中的图形界面编辑器那样点鼠标的简单操作,但vi编辑器在系统管理、服务器管理字符界面中,永远不是图形界面的编辑器能比的。它能轻易地创建和修改文本文件,维护Linux系统中的配置文件。其实刚开始的时候我也觉得很不习惯,但是用的多了渐渐就熟悉了。个人觉得掌握这些命令没有必要刻意的记忆,遇到不会的查找一下表就好了,用的多了自然就记得了。
全栈程序员站长
2022/09/18
3.7K0
Linux Vi 文本编辑器常用命令
Vi 和 Vim 文本编辑器使用指南
Vi(Visual)和 Vim(Vi Improved)是两款在 Unix/Linux 系统中广泛使用的文本编辑器。Vim 是 Vi 的改进版本,继承了 Vi 的核心功能,并增加了许多新特性,如语法高亮、多级撤销等。它们都具有强大的文本编辑能力,支持多种模式,能够高效地进行文本的插入、删除、查找、替换等操作。
久绊A
2025/03/12
1380
红帽认证RedHat-RHCSA shell的基本应用
Linux命令的通用命令格式:命令字 [选项] [参数] 选项及参数的含义 选项:用于调节命令的具体功能 以 “-”引导短格式选项(单个字符),例如“-l” 以“--”引导长格式选项(多个字符),例如“--color” 多个短格式选项可以写在一起,只用一个“-”引导,例如“-al” 参数:命令操作的对象,如文件、目录名等
青灯古酒
2023/10/16
1900
红帽认证RedHat-RHCSA shell的基本应用
linux常用的文本编辑器
在Linux系统中,文本编辑器是日常工作中必不可少的工具之一。本文将介绍常用的几款文本编辑器,包括vi/vim、nano和emacs,并提供一些基本操作和常用示例。
玖叁叁
2023/04/09
3.3K0
Linux —vim 编辑器
vi编辑器是linux和unix上最基本的文本编辑器,工作在字符模式下。由于不需要图形界面,vi是效率很高的文本编辑器。尽管在linux上也有很多图形界面的编辑器可用,但vi在系统和服务器管理中的功能是那些图形编辑器所无法比拟的。
Alone-林
2022/08/20
5.4K0
【Linux入门】Vim文本编辑器
在使用 Linux 操作系统的过程中,经常需要对文本文件进行操作,如新建、编辑等,常用的方法有以下几种:
参谋带个长
2023/12/09
8242
Linux 上的文本编辑器 vim
功能强大:代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。 功能强大到其官方现在对自己的定位是“程序开发工具”
大胖橘
2023/03/26
1.3K0
Linux系统VIM编辑器管理
在 Linux 的世界中,绝大部分的配置文件都是以 ASCII 的纯文本形态存在,因此利用简单的文字编辑软件就能够修改设定了,与微软的 Windows 系统不同的是,如果你用惯了 Microsoft Word 或 Corel Wordperfect 的话,那么除了 X window 里面的图形接口编辑程序,用起来尚可应付外,在 Linux 的文本模式下,会觉得文书编辑程序都没有窗口接口来的直观与方便.
王瑞MVP
2022/12/28
1.4K0
玩转vim(vi)编辑器
vi编辑器是Linux下的标准编辑器,vi编辑器并非只是用来写程序,还可以用来对一些配置文件进行编辑。vim是vi的加强版,我们一般使用vim对文件进行编辑。本文介绍了vim编辑器的三大模式,以及相应的命令,最后介绍了如何通过vim编辑器的配置文件.vimrc根据自己的需求对vim进行配置。
mindtechnist
2024/08/08
8460
玩转vim(vi)编辑器
vim 文本编辑器[通俗易懂]
1) 模式转换 a) 【i】:在当前光标所在字符的前面,转为输入模式 b) 【a】:在当前光标所在字符的后面,转换为输入模式 c) 【o】:在当前光标所在行的下方,新建一行,并转换为输入模式: d) 【I】:在当前光标所在行的行首,转换为输入模式 e) 【A】:在当前光标所在行的行尾,转换为输入模式 f) 【O】:在当前光标所在行的上方,新建一行,并转换为输入模式; g) 【cc】删除当前行并输入新内容,相当于S。扩展【#cc】 h) 【C】删除当前光标到行尾,并切换成插入模式
全栈程序员站长
2022/09/06
4.4K0
vim 文本编辑器[通俗易懂]
Linux学习笔记(一)使用文本编辑器Vim
从今天开始,小雨和大家一起学习Linux基础,Vim是Linux中功能十分强大的文本编辑器,熟练地使用Vim可以让你高效地在Shell界面编写代码,接下来我们开始一步一步地学习Vim的使用方法:
小雨coding
2020/06/09
2.3K0
Linux学习笔记(一)使用文本编辑器Vim
相关推荐
Linux D02 VI编辑器_终端编辑器(重点重点重点)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验