Inserir modo em todas as janelas no VI

0

Suponha que eu esteja usando vim com dois ou mais arquivos abertos no modo de tela dividida. Os arquivos abertos são muito semelhantes e quero fazer algumas alterações idênticas em todos os arquivos.

Eu já conheço

:windo set scrollbind

para que as janelas rolem da mesma maneira.

A minha pergunta é a seguinte: existe um método para entrar no modo de inserção em todas as janelas. Ou, se não, copiar todas as ações mais recentes para uma janela diferente. O resultado deve ser que alguma edição seja a mesma em todos os arquivos abertos.

    
por Bernhard 07.01.2014 / 16:15

1 resposta

2

Você pode gravar seus comandos de edição em uma macro (por exemplo, registrar Q por meio de qq...q ) e, em seguida, reproduzir essa macro em todas as outras janelas. Se você :close a primeira janela que já recebeu o tratamento, você pode usar

:windo normal! @q

para isso.

Você precisa ter o cuidado de usar apenas movimentos e objetos de texto que sejam válidos em todos buffers (pois o Vim emitirá um bipe e repetirá um erro de macro). buffers e um pouco de premeditação. Melhor iniciar a macro a partir de uma posição predefinida, por ex. via gg0 ou /search .

O comando :substitute (possivelmente com o sinal /c a ser consultado em cada correspondência) pode ser uma ótima alternativa aos comandos do modo normal e pode ser combinado / incluído em uma macro. / p>     

por 07.01.2014 / 16:35

Tags