7

我想更改所有文件的文件格式。

所以我打开它们使用vim *.

然后我想知道是否有任何简单的方法可以做到这一点,而不是一个一个地为每个文件键入:set fileformat=unix和。:w

4

3 回答 3

11

argdo是你想要的,不是bufdo,因为你想在每个参数上都这样做,而且你不(必然)想先打开每个文件。

:argdo set ff=unix | update

应该做的伎俩。

于 2013-01-08T06:33:51.183 回答
4

也许你需要 bufdo

 :help bufdo
 bufdo[!] {cmd}     Execute {cmd} in each buffer in the buffer list.
 It works like doing this: 
                :bfirst
                :{cmd}
                :bnext
                :{cmd}
                etc.
于 2013-01-06T06:59:08.427 回答
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”来获取文件的数量。

于 2014-02-24T07:24:12.960 回答