2012-11-21 58 views
1

我想很多這種變化Vim的更換或替代快上許多文件

"\includegraphics{all.png}" 的 - > "\includegraphics[width=\linewidth]{all.png}"

沒有桑達只不過Vim。當我這樣做時,我總是用空間之類的東西來替換緩衝區,這樣會浪費很多密鑰。我該如何快速做到這一點?

最小數量的鑰匙勝利!

啓動Vim裏面:讓比賽來緩衝

:grep的-r 「includegraphics」 節/ *

回答

3

在gro中執行某些操作的靈活方式使用Vim修改文件的地址是 將他們的名字列表收集到參數列表(參見:help arglist), ,然後遍歷它執行所需的命令。

爲了完成第一步,請使用命令:args,:argadd:argdelete。例如,設置參數列表中的所有 文件有.tex擴展在當前目錄及其 子目錄的名稱,問題

:args ./**/*.tex 

要執行第二步,使用:argdo命令:

:argdo %s/\\includegraphics\zs\ze{all.png}/[width=\\linewidth]/g 
2

替換所有緩衝區

:bufdo %s/\\includegraphics\{all\.png\}/\includegraphics[width=\linewidth]{all.png}/ge

+0

你爲什麼要逃避'{'?它不是perl,'{'默認沒有特殊意義(不是非常魔術模式,':h/\ v'),而是'\ {'確實。 – ZyX