oeasy教您玩转vim - 65 - # 批处理操作
批处理操作
回忆上次
我们上次参数列表
arguments list
所谓参数列表指的是
vim
打开的参数列表
参数会加载到内存中成为
buffer
参数的控制
:arga filename
添加参数
此操作支持*可以打开多个文件
:argd filename
来删除参数
:args
查询参数列表缓冲的控制
:bd filename
来删除缓存
:e filename
来打开缓存
ls
可以列出缓存列表可以在
terminal
中配合find
来找到文件然后作为参数给
vim
sudo find / -mindepth 3 -maxdepth 4 -name passwd | xargs vi
精准地控制了参数列表或者缓冲列表
这两个列表可以怎么用呢?🤔
同时打开2个文件
vi -o o1 o2
: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
列表可删除
buffers
缓冲文件:bd1
:bd o2z.txt
可打开新的
buffer
缓冲文件e .
可以选择缓冲文件
:b1
argdo
我们还有一种批量执行命令的方式
:argdo %s/oeasy/o2z/g
打开.c文件,设置文件格式并更新
:args *.c
:argdo set ff=unix | update
打开
.c
或.h
文件,批量替换并更新:args *.[ch]
:argdo %s/\<my_foo\>/My_Foo/ge | update
查看相应的参数文件列表
可以用
:args
删除参数文件
可以用
:argd
添加参数文件
可以用
:arga
总结
这次有三种批量替换,分别是
:windo
:bufdo
:argdo
执行的
{cmd}
可以用|
按顺序增加update
自动更新:set autowrite
自动写入:set hidden
可以隐藏未保存buffer
分别对应的
window
、buffers
、arguments
各有各自的列表、切换、删除、增加的方式
多文件多窗口还有什么可玩的么?🤔
下次再说 *
[Github地址] (https://github.com/overmind1980/oeasyvim)
[Gitee地址] (https://gitee.com/overmind1980/oeasyvim)
[蓝桥实验楼 邀请码FJWYIMGB] (https://www.lanqiao.cn/courses/2840)