Como posso editar a parte idêntica de vários arquivos de uma só vez?

0

Eu tenho vários arquivos HTML que formam um site pequeno. Várias linhas de código são duplicadas na parte superior dos arquivos (embora o <title> seja diferente) e algumas linhas são duplicadas na parte inferior.

Eu poderia usar um pré-compilador como o Jekyll e usar layouts, então só tenho que alterar o código uma vez, mas acho que isso adiciona uma complexidade desnecessária ao projeto. Eu poderia usar regexes (que é o que eu estou fazendo atualmente, usando DirDo.vim ), mas este é um um pouco de aborrecimento.

Então, existe algum plugin que detecta partes idênticas de um conjunto de arquivos e permite que você edite todos eles de uma só vez? Ou existem outras maneiras de fazer isso que eu não poderia ter pensado?

    
por Zaz 24.07.2014 / 16:11

1 resposta

2

No Vim, esse problema pode ser dividido em duas partes:

  1. Aplicar uma edição a vários arquivos
  2. Repetindo a mesma edição

Para 1., você está usando o plug-in DirDo ; alternativas seriam o :argdo , :bufdo , etc.

Para 2., você pode usar qualquer (combinação de) comandos Vim. O mais poderoso é :substitute , usando um :[range] para selecionar as linhas e uma expressão regular para (encontrar o ponto para) modificar o texto nessas linhas.

Você também pode gravar uma macro e reaplicar isso via :normal! @a . De, se esta é uma única edição no início de uma única linha, uma repetição via :[address]normal! . seria suficiente (mas é limitada a uma única operação de edição e o fato de que :normal posiciona o cursor no início da linha) .

    
por 24.07.2014 / 17:04