oeasy教您玩轉vim - 65 - # 批處理操作
批處理操作
回憶上次
我們上次參數(shù)列表
arguments list
所謂參數(shù)列表指的是
vim
打開的參數(shù)列表
參數(shù)會加載到內(nèi)存中成為
buffer
參數(shù)的控制
:arga filename
添加參數(shù)
此操作支持*可以打開多個文件
:argd filename
來刪除參數(shù)
:args
查詢參數(shù)列表緩沖的控制
:bd filename
來刪除緩存
:e filename
來打開緩存
ls
可以列出緩存列表可以在
terminal
中配合find
來找到文件然后作為參數(shù)給
vim
sudo find / -mindepth 3 -maxdepth 4 -name passwd | xargs vi
精準地控制了參數(shù)列表或者緩沖列表
這兩個列表可以怎么用呢???
同時打開2個文件
vi -o o1 o2
:windo normal I oeasy
windo
所有窗口都執(zhí)行normal
進入普通模式I oeasy
插入oeasy
:windo normal o
windo
所有窗口都執(zhí)行normal
進入普通模式o
換行:windo normal "%p
windo
所有窗口都執(zhí)行normal
進入普通模式"%p
粘貼各自文件名
批量替換
:windo %s/oeasy/o2z/g
windo
所有窗口都進行%s/oeasy/o2z/g
把oeasy
替換為o2z
然后可以
:wall
全部保存
批量細節(jié)
可以設置
range
這個指的是
window
編號:1,3windo normal Ioeasy
可以執(zhí)行批處理序列,用
|
隔開各個命令:windo %s/oeasy/o2z/g| %s/o2z/o3z/g
這樣就可以執(zhí)行兩條替換命令了
:windo set nolist nofoldcolumn | normal zn ?
: windo set fileencoding=utf-8 | update
自動更新
bufdo
除了
windo
我們還可以對每一個
buffer
執(zhí)行命令:bufdo %s/oeasy/o2z/g
在當前
window
遍歷每個buffer
可以設置
hidden
隱藏 修改后的buffer
或
autowrite
自動保存可
:ls
、:buffers
查看當前的
buffers
列表可刪除
buffers
緩沖文件:bd1
:bd o2z.txt
可打開新的
buffer
緩沖文件e .
可以選擇緩沖文件
:b1
argdo
我們還有一種批量執(zhí)行命令的方式
: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 ? ?
查看相應的參數(shù)文件列表
可以用
:args
刪除參數(shù)文件
可以用
:argd
添加參數(shù)文件
可以用
:arga
總結
這次有三種批量替換,分別是
:windo
:bufdo
:argdo
執(zhí)行的
{cmd}
可以用|
按順序增加update
自動更新:set autowrite
自動寫入:set hidden
可以隱藏未保存buffer
分別對應的
window
、buffers
、arguments
各有各自的列表、切換、刪除、增加的方式
多文件多窗口還有什么可玩的么???
下次再說 *
[Github地址] (https://github.com/overmind1980/oeasyvim)
[Gitee地址] (https://gitee.com/overmind1980/oeasyvim)
[藍橋?qū)嶒灅?邀請碼FJWYIMGB] (https://www.lanqiao.cn/courses/2840)