我需要在数千个文件上执行vim命令,而不会遇到交互模式慢。我试过了:
find ... | xargs vim '+set fileencoding=utf-8 | x'
和
for file in ... ; do vim '+set fileencoding=utf-8 | x' $file done
但它太慢而且我有警告
Vim : Warning : Output is not to a terminal
在vim中无法避免交互模式吗?
ps:否则我可以使用iconv,但它会导致文件错误> 32 ko
iconv --from-code=ISO-8859-1 --to-code=UTF-8 $file -o $file
答案 0 :(得分:3)
我愿意:
find .... -print0 | xargs -0 vim -c 'argdo set fenc=utf8' -c 'wqa'
答案 1 :(得分:1)
文件类型,语法和缩进插件可能会减慢你的速度。 这些在〜/ .vimrc中指定,其行如下所示:
filetype plugin indent on
你可以在没有你的插件和〜/ .vimrc的情况下启动Vim,但是可以通过以下方式保持非兼容模式:
vim -Nu NONE