Трябва да изпълня 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
find -exec file -i {} \; | grep iso-8859 | awk -F ':' '{print $1}'
, така че-print0 | xargs -0
е трудна. С пренасочване презxargs vim -c 'argdo set fenc=utf8' -c 'wqa'
терминалът се държи странно (избягащи знаци от vim?). Но в for цикъл работи доста добре. Благодаря за отговора 03.02.2011