#13.Linux中vi编辑器


在Linux系统中一般都是使用配置文件来控制服务的运行,因而很多服务功能都需要通过修改配置文件来实现,在字符界面下要修改文件的内容大都要用到一个名叫vi(Visual Interface)编辑器的工具。vi是Linux系统中使用最广泛的文本编辑器,它可以在任何Shell、字符终端或基于字符的网络连接中使用,能够高效地在文件中进行 编辑、删除、替换、移动等操作。就像Windows里面的记事本。

vi是一个基于Shell的全屏幕文本编辑器,没有菜单,全部操作都基于命令。vim(VI Improved)是vi编辑器的增强版本,在vi编辑器的基础上扩展了很多实用的功能,但是习惯上也将vim称作vi。实际上我们平常使用的大都是这个vim。

vi编辑器命令格式为:

vim 文件名

**注意:**如果指定的文件不存在,那么vim命令会创建文件并进入编辑状态,如果文件存在,则进入编辑状态对其进行编辑。

vi编辑器的工作模式

由于vi是一个工作在字符界面下的编辑器,因此它的大部分功能都是通过命令或快捷键来实现的,操作相对于那些图形界面下的编辑工具要复杂一些。但当用户熟悉了vi的常用命令之后,将会发现vi的使用也是十分灵活便捷的。

在vi编辑界面中有三种不同的工作模式:命令模式、插入模式、末行模式,不同的工作模式所起到的功能不同。

1.1 命令模式

启动vi编辑器后默认进入命令模式,该模式下主要完成光标移动、字符串查找、删除、复制、粘贴等操作。不论用户处于何种模式,只要按下Esc键,即可进入命令模式。接下来介绍该模式下的一些操作技巧。

操作类型要实现的功能对应的操作命令
行号显示给内容加上行号:set nu
取消行号显示:set nonu
光标方向移动光标方向移动(上下左右)↑ ↓ ← →
翻页向下翻一整页内容Page Down或Ctrl + F
向上翻一整页内容Page Up或Ctrl + B
行内快速跳转跳转到行尾End键或" ^ “或数字” 0 "
向左移动n个字符n + ←
向右移动n个字符n + →
行间快速跳转快速将光标移动至第一行1+G(先按下1,再按下大写的G)/或gg
快速将光标移动至最后一行G
将光标移动至第n行n+G(先输入想要去的行数,再按下G)
复制复制当前行将光标定位至这一行再按yy
复制从光标开始的n行将光标定位至首行再按数字n+yy
粘贴将内容粘贴到光标之后的位置p
删除删除光标处的单个字符x或Del
删除当前光标所在的行dd
删除当前光标开始的n行内容n+dd
删除当前光标之前到行首的所有字符d^
删除当前光标到行尾的所有字符d$
查找从上而下在文件中查找字符串“word”/word
从下而上在文件中查找字符串“word”?word
定位下一个匹配的被查找的字符n
定位上一个匹配的被查找的字符N
撤销按一次取消最近的一次操作(多次重复的按u键,恢复已进行的多步操作)u(默认最多撤销50次)
取消对当前行所做的所有编辑U
重做最后一次所撤销的操作Ctrl + r

1.2 插入模式

此模式用于修改文件内容。当我们需要对文件内容进行修改的时候,一般都需要转换到插入模式。从命令模式转换到插入模式的方法主要有以下三种:

操作功能
i在光标所在处输入
a在光标所在处后方输入
o在光标所在处下方打开一个新行,光标处在首行

如果要直接在光标所在行插入内容,那么可以使用“i”或“a”,如果要在新起一行插入内容,那么推荐使用“o”。

1.3 末行模式

在命令模式下,按“:”键即可进入末行模式,该模式中可以保存文件、退出编辑器,以及对文件内容进行查找、替换等操作。处于末行模式时,vi编辑器的最后一行会出现“:”提示符。

操作命令
退出:q
强制退出(不保存):q!
保存且退出:wq
保存:w
另存为/root/newfile:w /root/newfile

在末行模式下,使用s命令能够将文件中特定的字符串替换成新的内容。使用替换功能时的末行命令格式如下:

: [替换范围] s/旧的内容/新的内容[/g][/c]
  • 替换范围如果用%表示在整个文件内容中进行查找并替换。也可以使用“12,23”的形式,表示将从12行到23行中的特定字符串进行替换。如果不指定范围则只对当前所在行进行操作。

  • 选项/g表示替换范围内每一行的所有匹配结果,省略此选项表示只替换每行中第一个匹配结果

  • 选项/c表示每次替换前都要进行询问,要求用户确认

  • 选项/gc表示g和c的功能累加

例如:将文件内容1-10行的所有的小写ssh替换为大写的SSH即可用以下命令

:1,10 s/ssh/SSH/g

1.4 可视模式

在命令模式下按下v键便可以进入可视模式,此时左右移动方向键,就会将光标所经过区域的字符选中,然后可以用y键进行复制,用d键进行删除,或是用p键进行粘贴。不论执行何种操作,在操作结束之后,都会自动退出可视模式。

1.5 各模式切换流程

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值