回忆上次
同时打开3个文件
vi -o o1 o2 o3
-
:windo normal I oeasy
-
windo
所有窗口都执行
-
normal
进入普通模式
-
I oeasy
插入oeasy
-
:windo normal o
-
windo
所有窗口都执行
-
normal
进入普通模式
-
o
换行
-
:windo normal "%p
-
windo
所有窗口都执行
-
normal
进入普通模式
-
"%p
粘贴各自文件名
批量替换
-
:windo %s/oeasy/o2z/g
-
windo
所有窗口都进行
-
%s/oeasy/o2z/g
把oeasy
替换为o2z
- 然后可以
:wall
全部保存
批量细节
- 可以设置
range
- 这个指的是
window
编号
:1,3windo normal Ioeasy
- 可以执行批处理序列,用
|
隔开各个命令
:windo %s/oeasy/o2z/g| %s/o2z/o3z/g
- 这样就可以执行两条替换命令了
:windo set nolist nofoldcolumn | normal zn
-
: windo set fileencoding=utf-8 | update
自动更新
bufdo
- 除了
windo
- 我们还可以对每一个
buffer
执行命令
:bufdo %s/oeasy/o2z/g
- 在当前
window
遍历每个buffer
- 可以设置
hidden
隐藏 修改后的buffer
- 或
autowrite
自动保存
- 可
:ls
、:buffers
- 可删除
buffers
缓冲文件
- 可打开新的
buffer
缓冲文件
- 可以选择缓冲文件
argdo
- 我们还有一种批量执行命令的方式
- 打开.c文件,设置文件格式并更新
-
:args *.c
:argdo set ff=unix | update
- 打开
.c
或.h
文件,批量替换并更新
-
:args *.[ch]
:argdo %s/\<my_foo\>/My_Foo/ge | update
- 查看相应的参数文件列表
- 删除参数文件
- 添加参数文件
总结
- 这次有三种批量替换,分别是
- 执行的
{cmd}
可以用|
按顺序增加
-
update
自动更新
-
:set autowrite
自动写入
-
:set hidden
可以隐藏未保存 buffer
- 分别对应的
window
、buffers
、arguments
- 各有各自的列表、切换、删除、增加的方式
- 多文件多窗口还有什么可玩的么?🤔
- 下次再说 👋
教程来源于Github,感谢overmind1980大佬的无私奉献,致敬!
人工智能基础课 -〔王天一〕
赵成的运维体系管理课 -〔赵成〕
从0开始学微服务 -〔胡忠想〕
10x程序员工作法 -〔郑晔〕
Python核心技术与实战 -〔景霄〕
深入拆解Tomcat & Jetty -〔李号双〕
Serverless入门课 -〔蒲松洋(秦粤)〕
跟着高手学复盘 -〔张鹏〕
云原生基础架构实战课 -〔潘野〕