共计 1403 个字符,预计需要花费 4 分钟才能阅读完成。
批处理操作
回顾上次
- 咱们上次参数列表
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/overmind19…)
[Gitee 地址] (https://gitee.com/overmind198…)
[蓝桥实验楼 邀请码 FJWYIMGB] (https://www.lanqiao.cn/course…)
正文完