我想要更改所有文件的fileformat。
所以我打开它们使用vim *
。
然后我想知道是否有任何简单的方法可以执行此操作,而不是逐个为每个文件键入:set fileformat=unix
和:w
。
答案 0 :(得分:11)
argdo
是您想要的,而不是bufdo
,因为您希望在每个参数上执行此操作而您(不一定)希望首先打开每个文件。
:argdo set ff=unix | update
应该这样做。
答案 1 :(得分:3)
当然,您可以使用vim记录和播放功能来完成此操作。请按照以下步骤操作
1. Open all files using vim *
2. Press "qq" to start recording
3. :set ff=unix
4. :wn
5. Press again "q" to stop recording
6. Execute like "100@q"
这里100是文件的近似数量,但如果您也提供了更多的数字,请不要担心。当它完成所有缓冲区“E165:不能超越最后一个文件”时它会停止。你可以在打开之前通过“ls | wc -l”来获取文件的数量。
答案 2 :(得分:2)
也许您需要bufdo
?
:help bufdo
bufdo[!] {cmd} Execute {cmd} in each buffer in the buffer list.
It works like doing this:
:bfirst
:{cmd}
:bnext
:{cmd}
etc.