vim automação ex comandos

1

Sim, eu sei, eu poderia usar o sed. Mas vamos supor que sou uma espécie de doente. Um masoquista, se você quiser ...

Eu tenho um arquivo, /tmp/a.script , contendo:

%s_"taxonomy\.php[^"]*\([0-9]\)_".taxonomy_g
%s_"rtf\.php[^"]*\([0-9]\)_".rtf_g
%s_"csv\.php[^"]*\([0-9]\)_".csv_g
%s_"xml\.php[^"]*\([0-9]\)_".xml_g

(eu snarfed-los da minha história vim)

Eu gostaria muito que o vim executasse esses comandos em um arquivo, digamos example.html .

Mas não consigo descobrir como executar esse script no arquivo.

Estou ciente do argumento de linha de comando -c . Mas só executa um único comando, eu quero executar todos esses comandos.

Alguma idéia?

A resposta está abaixo, para referência, uma maneira rápida de fazer isso seria:

for i in *.html ; do
  sed -i'' -e 's_"taxonomy\.php[^"]*\([0-9]\)_".taxonomy_g'  $i
  sed -i'' -e 's_"rtf\.php[^"]*\([0-9]\)_".rtf_g' $i
  sed -i'' -e 's_"csv\.php[^"]*\([0-9]\)_".csv_g' $i
  sed -i'' -e 's_"xml\.php[^"]*\([0-9]\)_".xml_g' $i
  echo $i
done
    
por Bryan Hunt 07.03.2012 / 21:44

1 resposta

2

Você já tentou :source ?

vim example.html -c "source /tmp/a.script"
    
por 07.03.2012 / 21:57