Linux学习 - vi/vim编辑器

Linux学习 - vi/vim编辑器

​ 在Linux的系统中使用文本编辑器来编辑Linux参数配置文件,是一件非常重要的事情。

​ 在Linux的世界中,绝大多数的配置文件都是以ASCII的纯文本文件形式存在,因此利用简单的文字编辑软件就能修改设置。

ubuntu 安装vim

​ Linux默认自带vi,一般使用升级版vim。第一次使用需要安装vim

sudo apt install vim

在这里插入图片描述

vi/vim的重要性

  • 所有的UNIX-like系统都会内置vi文本编辑器,其他的文本编辑器则不一定会存在
  • 很多软件的编辑接口都会主动调用vi
  • vim具有程序编辑的能力,可以主动地以字体颜色辨别语法的正确性,方便程序设计
  • 程序简单,编辑速度快

​ 我们可以简单地将vim视作vi的高级版本,vim可以用颜色或下划线的方式来显示一些特殊的信息。例如,使用vim去编辑一个C语言程序的文件,或是shell脚本程序时,vim会根据文件的扩展名或是文件内的开头信息,判断该文件的内容而自动调用该程序的语法判断样式,再以颜色来显示程序代码与一般信息

简而言之,vim是个程序编辑器,甚至一些Linux基础配置文件内的语法,都能够用vim来检查,vim是一个程序开发工具而不是文本处理软件。

vi的使用

​ 基本上vi共分为3种模式,分别是一般命令模式编辑模式命令行模式

一般命令模式(command mode)

​ 以vi打开一个文件就直接进入一般模式了(这是默认的模式,也简称为一般模式)。

编辑模式(insert mode)

​ 在一般命令模式中可以进行删除,复制,粘贴等的操作,但是却无法编辑文件的内容。只有等你按下【i,l,o,O,a,A,r,R】等任何一个字母之后才会进入编辑模式。 需要注意的是,在Linux中,按下这些按键时,在界面的左下方会出现【INSERT】或【REPLACE】的字样,此时才可以进行编辑,而如果要回到一般命令模式时,则必须要按下【Esc】这个按键即可退出编辑模式。

在这里插入图片描述

命令行模式(command-line mode)

在一般模式当中,输入【: / ?】三个中的任何一个按钮,就可以将光标移动到最下面那一行。 在这个模式当中,可以提供你【查询数据】的操作,而读取,保存,批量替换字符,退出vi,显示行号等的操作则是在此模式中完成。

在这里插入图片描述

3种模式的关系

一般命令模式可与编辑模式及命令行模式切换,但编辑模式与命令行模式之间不可互相切换。

在这里插入图片描述

按键说明

vi的三种模式只有一般命令模式可以与编辑,命令行模式切换,编辑模式与命令行模式之间并不能切换。

第一部分:一般命令模式可用的功能按键说明,光标移动,复制粘贴,查找替换等

移动光标的方法:

按键说明
h或向左箭头键光标向左移动一个字符
j或向下箭头键光标向下移动一个字符
k或向上箭头键光标向上移动一个字符
l或向右箭头键光标向右移动一个字符
[Ctrl] + [f]屏幕【向下】移动一页,相当于[Page Down]按键(常用)
[Ctrl] + [b]屏幕【向上】移动一页,相当于[Page Up]按键(常用)
0或功能键[Home]这是数字【0】:移动到这一行的最前面字符处(常用)
$或功能键[End]移动到这一行的最后面字符(常用)
G移动到这个文件的最后一行(常用)
gg移动到这个文件的第一行,相当于1G(常用)
n< Enter >n为数字,光标向下移动n行

查找与替换:

按键说明
/word向光标之下寻找一个名称为word的字符串(常用)
:n1,n2s/word1/word2/gn1与n2为数字,在第n1与n2行之间寻找word1这个字符串,并将该字符串替换为word2(常用)
:1,$s/word1/word2/g从第一行到最后一行寻找word1字符串,并将该字符串替换为word2(常用)
:1,$s/word1/word2/gc从第一行到最后一行寻找word1字符串,并将该字符串替换为word2,并且在替换前显示
提示字符给用户确认(confirm)是否需要替换(常用)

删除,复制与粘贴:

按键说明
x与X在一行当中,x为向后删除一个字符(相当于[del]按键),X为向前删除一个字符(相当于
[Backspace]即退格键)(常用)
dd删除(剪切)光标所在的那一整行(常用)
nddn为数字,删除(剪切)光标所在的向下n行(常用)
yy复制光标所在的那一行(常用)
nyyn为数字,复制光标所在的向下n行(常用)
p与Pp为将已复制的数据在光标下一行粘贴,P则为贴在光标上一行(常用)
u恢复前一个操作(常用)
[Ctrl] + r重做上一个操作(常用)
第二部分:一般命令模式切换到编辑模式可用的按键说明

进入插入或替换的编辑模式:

按键说明
i与l进入插入模式(Insert mode):
i为【从目前光标所在处插入】,I为【在目前所在行的第一个非空格符处开始插入】(常用)
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!若曾修改过文件,又不想保存,使用!为强制退出不保存
:wq保存后退出,若为:wq!则为强制保存后退出(常用)
ZZ若文件没有修改,则不保存退出,若文件已经被修改过,则保存后退出
:w [filename]将编辑的数据保存成另一个文件(类似另存新文件)
:r [filename]在编辑的数据中,读入另一个文件的数据,亦即将【filename】这个文件内容加到光标所在行后面
:n1,n2 w [filename]将n1到n2的内容保存为filename这个文件
:set nu显示行号,设置之后,会在每一行的前缀显示该行的行号
:set nonu与set nu相反,为取消行号
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值