linux基础知识|vi编辑器(代码片段)

_wangjianfeng _wangjianfeng     2022-12-12     620

关键词:

Linux基础知识 | vi编辑器

vi编辑器是一个文本编辑器,提供了大量指令用来编辑文件,而且Linux中很多程序默认以vi编辑器打开,同时vi编辑器的编辑速度也很快。

vi的三种模式

基本上vi共分为三种模式,分别是 命令模式(command mode)、插入模式(insert mode)、和底行模式(last line mode),各种模式的功能如下:

  • 命令模式(command mode)

    一般默认vi打开的就是命令模式,在这个模式中,可以使用上下左右键来移动光标,也可以使用一些功能删除字符或者删除整列。同时这个模式中可以进行切换到插入模式(insert mode)或者切换到底行模式(last line mode)。

  • 插入模式(insert model)

    在命令模式中通过输入i/o/a可以进入插入模式。进入插入模式之后,就可以对文件进行编辑。如果要切换回命令模式则需要按Esc

  • 底行模式(last line mode)

    在这个模式中可以提供存盘、读取、离开vi、列出行号等功能

需要注意的是:插入模式和底行模式都需要在命令模式切换,就是说不能直接从插入模式切换到底行模式,或者从底行模式直接切换到插入模式。

其实在一般情况下,最常用的指令为使用vi filename打开某个文件,然后输入i进入插入模式,在编辑完成后,按下Esc键,进入命令模式。然后输入:wq存盘保存退出文件。

通常使用vi来创建或者打开一个文件,如果文件名对应的文件不存在,则会创建一个新的文件,但是这个新的文件其实还未存到磁盘中去,只有你对这个文件进行编辑并且输入了:w进行存盘操作才会把文件保存起来。

三种模式下面的命令说明

vi的强大之处在于它提供了很多方便的指令让我们对文件进行编辑,浏览,复制等其他功能,这些功能都是通过命令来执行的。下面列出三种模式下的按键说明:

命令模式的按键

  • 移动光标的指令
按键说明
h 或 左方向键光标向左移动一个字符
j 或 下方向键光标向下移动一个字符
k 或 上方向键光标向上移动一个字符
l 或 右方向键光标向右移动一个字符
以上移动光标操作符可以在前面添加数字表示移动的字符个数,比如 30h表示向左移动30个字符
ctrl + f向下移动一页(相当page down)
ctrl + b向上移动一页(相当page up)
ctrl + d屏幕向下移动半页
ctrl + u屏幕向上移动半页
+光标移动到非空白字符下一列
-光标移动到非空白字符的上一列
n spacen表示数字,输入8 space则会将光标向后移动8个字符
0 或 home表示光标移动到当前列第一个个字符 (常用)
$ 或 end表示光标移动到当前列最后一个字符(常用)
H光标移动到屏幕最上方那一列的第一个字符
M光标移动到屏幕中央那一列的第一个字符
L光标移动到屏幕最下方那一列的第一个字符
G移动到这个文件最后一列 (常用)
nG移动到这个文件的第n列
n enter向下移动n列

- 查找替换相关指令

按键说明
/xxx向光标之下寻找一个名称为 xxx 的字串(常用)
?xxx向光标之上寻找一个字串名称为 xxx 的字串
n代表“重复前一个搜寻的动作”。举例来说, 如果刚刚我们执行 /xxx 去向下搜寻 xxx 这个字串,则按下 n 后,会向下继续搜寻下一个名称为 xxx 的字串
N与 n 刚好相反,为“反向”进行前一个搜寻动作
:n1,n2s/word1/word2/g搜寻 word1 并取代为 word2,s表示开头字符,g表示结尾字符,如果再g后面添加c则表示每查找到一个则会提示询问是否要替换,n1,n2为数字,表示从第n1行到第n2行之间搜索替换,其中如果n2输入$则表示从n1到最后一行

- 删除、复制与粘贴

按键说明
x, X在一列字当中,x为向后删除一个字符, X 为向前删除一个字符(常用)
nxn 为数字,连续向后删除 n 个字符。
dd删除光标所在的那一整列(常用)
nddn 为数字。删除光标所在的向下 n 列
d1G删除光标所在到第一列的所有数据
dG删除光标所在到最后一列的所有数据
d$删除光标所在处,到该列的最后一个字符
d0删除光标所在处,到该列的最前面一个字符
yy复制光标所在的那一列(常用)
nyyn 为数字。复制光标所在的向下 n 列(常用)
y1G复制光标所在列到第一列的所有数据
yG复制光标所在列到最后一列的所有数据
y0复制光标所在的那个字符到该列行首的所有数据
y$复制光标所在的那个字符到该列行尾的所有数据
p, Pp 为将已复制的数据在光标下一列贴上,P 则为贴在光标上一列(常用)
J将光标所在列与下一列的数据结合成同一列
c重复删除多个数据,例如向下删除 10 列,[ 10cj ]
u复原前一个动作。(常用)
[Ctrl]+r重做上一个动作。(常用)
.重复前一个动作的意思。(常用)

命令模式切换到插入模式相关指令

按键说明
i, I进入插入模式(Insert mode)
a, A进入插入模式(Insert mode)a 为“从目前光标所在的下一个字符处开始插入”, A 为“从光标所在列的最后一个字符处开始插入”。(常用)
o, O进入插入模式(Insert mode)o 为“在目前光标所在的下一列处插入新的一列”; O 为在目前光标所在处的上一列插入新
r, R进入取代模式(Replace mode)r 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止;(常用)
[Esc]退出编辑模式,回到一般指令模式中(常用)

命令模式切换到底行模式相关指令

按键说明
:w保存编辑的内容到硬盘
:w!强制写入文件,能不能写入和文件权限有关
:q退出vi编辑器
:q!如果不想保存编辑的结果,可以强制离开vi
:wq存盘。退出
ZZ若文件没有变更,则不储存离开,若文件更改,则储存后离开
:w filename将编辑的文件保存为另一个新文件
:r filename在编辑的数据中,写入另一个文件的数据
:n1,n2 filename将n1行到n2行保存到新文件中
:! command暂时离开vi到命令行界面下执行command的显示结果
:set nu显示行号
:set nonu取消显示行号

linux基础命令,目录文件操作,vi编辑器详解(代码片段)

一、linux基础命令linux命令的执行必须依赖于shell命令解释器。shell实际上是在linux系统中运行的一种特殊程序,它位于操作系统内核与用户之间,负责接收用户输入的命令并进行解释,将需要执行的操作传递给系统内核执行,shell... 查看详情

linuxc语言(代码片段)

...nux基础1.1、Linux环境搭建1.2、Linux基础1.3、终端命令二、vi编辑器2.1、vi编辑器2.2、GCC编译工具2.3、存储器三、C语言基础3.1、基本c语言程序结构3.2、进制之间的转换3.3、关键字3.4、数据类型3.5、标识符3.6、分格符3.7、运算符3.8、... 查看详情

linux——文本编辑器(vi)详解介绍(代码片段)

Linux——文本编辑器(Vi)详解介绍1.Vi的简介Vi是Visualinterface的简称,可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户根据自己的需要对其进行制定,这是vi的魅力所在。Vi不是一个编排程... 查看详情

linux——文本编辑器(vi)详解介绍(代码片段)

Linux——文本编辑器(Vi)详解介绍1.Vi的简介Vi是Visualinterface的简称,可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户根据自己的需要对其进行制定,这是vi的魅力所在。Vi不是一个编排程... 查看详情

linux系统vi怎么编辑文件(代码片段)

1、打开文件vixxx.xml2、编辑文件按键盘a键3、退出+保存按键盘ESC键然后输入:wq 查看详情

linux系统vi和vim编辑器—笔记7(代码片段)

Vi和Vim的区别所有的UnixLike系统都会内置vi文书编辑器,其他的文书编辑器(gedit)则不一定会存在。因为有太多Linux上面的指令都默认使用vi作为数据编辑的接口,所以必须、一定要学会vi,否则很多指令你根本... 查看详情

linux中vi编辑器的基本操作(代码片段)

文章目录Intro:基本操作:进入vi切换至Insertmode并编辑文件Insertmode切换回commandmode退出vi&保存文件一些其他操作Intro:vi基本上可以分为三种状态,分别是命令模式(commandmode);插入模式(Insertmode)和底行模式(lastlinemode)commandmode:控... 查看详情

合肥工业大学linux实验一linux基础命令的使用(代码片段)

...xff0c;掌握linux操作系统中基础命令的用法。通过对vi和emacs编辑器的使用,掌握linux环境下文本文件的编辑方法。二、实验任务和要求掌握mkdir,cd,ls,cp,mv,rm,chmod的使用,要求能够拷贝、查看、删除、重命名文件等操作。viÿ... 查看详情

合肥工业大学linux实验一linux基础命令的使用(代码片段)

...xff0c;掌握linux操作系统中基础命令的用法。通过对vi和emacs编辑器的使用,掌握linux环境下文本文件的编辑方法。二、实验任务和要求掌握mkdir,cd,ls,cp,mv,rm,chmod的使用,要求能够拷贝、查看、删除、重命名文件等操作。viÿ... 查看详情

(值得收藏!)vi文本编辑器精讲(代码片段)

简介vi编辑器通常被简称为vi,vi编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下。它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制,由于不需要图形界面,... 查看详情

vi/vim编辑器基本使用(代码片段)

VI编辑器是一个基于命令行的、功能强大的文本编辑器,最早为Unix系统开发,后来也被移植到许多的Unix和Linux发行版上。在Linux上还存在着另一个VI编辑器的高阶版本——VIM(也被称作VIIMproved)。VIM只是在VI已经很强的功能上添... 查看详情

linux入门教程——vi/vim编辑器(代码片段)

前言本文小新为大家带来Linux入门教程——VI/VIM编辑器相关知识,具体内容包括VI/VIM是什么,VIM的三种工作模式介绍,包括:一般模式,编辑模式,指令模式,以及模式间转换等进行详尽介绍~不积跬步&... 查看详情

linux之vi/vim的使用(代码片段)

安装sudoaptinstallvimsudoyuminstallvimvi/vim的三种模式一般模式(默认模式)插入模式(编辑模式)命令行模式模式切换打开vi编辑器vivi文件名进入/退出插入模式快捷键  一般模式快捷键 命令行模式快捷键   查看详情

vi和vim(代码片段)

vi——终端中的编辑器01.vi简介在工作中,要对服务器上的文件进行简单的修改,可以使用ssh远程登录到服务器上,并且使用vi进行快速的编辑即可常见需要修改的文件包括:源程序配置文件,例如ssh的配置文件~/.ssh/config在没有... 查看详情

linux基础day09(代码片段)

vim文本编辑器什么是vimvi和vim命令是linux中强大的文本编辑器,由于Linux系统一切皆文件,而配置一个服务就是在修改其配置文件的参数。vim编辑器是运维工程师必须掌握的一个工具,没有它很多工作都无法完成。vim其实是vi的升级... 查看详情

linux系列使用vi文本编辑器(代码片段)

...页:网络豆的主页​​​​​​目录 前言一.vi文本编辑器1.使用vi文本编辑器2.vi编辑器的工作模式3.命令模式中的基本操作(1)模式切换(2)移动光标(3)复制、粘贴和删除(4)查找文件内... 查看详情

linux编辑神器:vim(代码片段)

...什么是Vi/Vim?vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行 查看详情

正确使用vim编辑器的姿势񼲎(代码片段)

...视化接口(VisualInterface)vim:是vi的增强版(viiMprove)vi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器。它是我们使用Linux系统不能缺少的工具。Unix... 查看详情