VIM: Como diferenciar linhas específicas em dois arquivos diferentes

VIM: Como diferenciar linhas específicas em dois arquivos diferentes

Como alguém pode diferenciar as linhas 2 a 4 no arquivo A e as linhas 8 a 10 no arquivo B?

Além disso, é possível selecionar visualmente as linhas de cada arquivo em vez de anotar os números das linhas?

Obrigado!

Responder1

A solução que você deseja não existe atualmente no Vim, embora alguns desenvolvedores estejam discutindo isso. Existem duas soluções que usei.

Uma é excluir a linha 1 no arquivoA e as linhas 1-7 no arquivoB e diferenciar as linhas restantes (por exemplo, com :windo diffthis).

A outra é usar um plugin comoNrrwRgnpara copiar as linhas de interesse para novos buffers e, em seguida, diferencie esses buffers. Um recurso interessante do plugin NrrwRgn é que você pode fazer alterações nesses novos buffers e, ao encerrá-los, as alterações serão copiadas de volta para os buffers originais.

Para qualquer operação do Vim para a qual você pode especificar um intervalo de linhas, esse intervalo pode ser especificado de várias maneiras. Uma é usar números de linha. Outra é selecionar visualmente a região em linha. Ver

:help [range]
:help V

Usando o plugin NrrwRgn para resolver seu exemplo, você colocaria o cursor na linha 2 do arquivoA e digitaria

Vjj\nr

para selecionar visualmente as linhas 2 a 4 ( Vjj) e copiá-las para um novo buffer ( \nr). Em seguida, coloque o cursor na linha 8 do arquivoB e repita a mesma sequência. Em cada um dos dois novos buffers, execute

:diffthis

Não é elegante, mas funciona.

informação relacionada