linux个人学习的一点记录(5)vi的一些高级功能

本文详细介绍vi编辑器的高级功能,包括文档导航命令、屏幕滚动操作、搜索替换技巧及文件读写指令等。适用于希望提升vi编辑效率的开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

vi编辑器高级功能
命令模式下:
G 到文档的最后一行
1G 到文档的第一行

Ctrl+d 以屏幕为准往下跳半页
Ctrl+u 以屏幕为准往上跳半页

H 跳到屏幕的第一行 high
M 跳到屏幕的中间行 middle
L 跳到屏幕的最后一行 low

小写z 会让当前行变成当前屏幕的第一行 按完z按enter
小写z- 会让当前行变成当前屏幕的最后一行 小写z加上-(横线)

filtering
将命令执行后输出的信息插入到目前编辑的文件
也可以将文件内容当做命令的输入

!!进入filter输入
!}将文件内的数据当做命令输入,以光标所处行开始往下的数据做为输入 :.,.+2!sort 表示从光标开始后两行进行sort

!!ls -l
!!date
!}sort
!}fmt -w60

vi下的搜索和替换
使用sed 模式进行搜索、替换
缺省的sed搜索范围规则,使用:
不设定,对当前行进行搜索替换
例如:s/rwx/xxx s表示使用sed模式,将该行第一个rwx替换成xxx
:s/rwx/xxx/g s表示使用sed模式,将该行所有的rwx替换成xxx

1,10 对第一行到第10行进行查找替换
:1,10s/rwx/xxx/g 1,10表示对1-10行的所有rwx替换成xxx

1,$ 对整个文档进行查找替换 $表示文件的最后一行
1,$s/rwx/xxx/g 替换文件中所有的rwx为xxx

% 设定对整个文档进行查找替换
%s/rwx/xxx/g

.,.+10 .表示当前行,.+10从当前行往下10行, .,.+10表示从光标所在行往下10行的范围进行查找替换,一共有11行
.,.-10 .表示当前行,.-10从当前行往上10行, .,.-10表示从光标所在行往上10行的范围进行查找替换,一共有11行 反向取代


vi读文件、写文件功能
:r file1 将file1的文件内容读入当前编辑的文件中
:1,20w file2 将当前编辑文件的1-20行写入file2中,新增file2文件,相当于>
:1,$w file3 将当前编辑文件的内容都写入新文件file3
:1,20w>>file4 将1-20行附加到file4的尾端,不会覆盖file4的文件原有内容

vi读取多个文件
vi testvi1 testvi2 testvi3
当前编辑testvi1
:n 移动到下一个文件
:rew 回到第一个文件 rew是rewind的缩写,回转
:n# 在两个文件间切换

设定vi
:set
:set all 看所有可以设置的选项

:set ignorecase 设定vi中不区分大小写
:set noignorecase 设定vi中区分大小写

:set nu 显示行号
:set nonu 不显示行号
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值