在没有交互模式的情况下执行vim命令

时间:2011-02-02 17:27:48

标签: linux unix vim encoding

我需要在数千个文件上执行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

2 个答案:

答案 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