Rolando para baixo em ambas as partes de uma janela dividida ao mesmo tempo no Vim


119

É possível rolar para baixo as partes esquerda e direita de uma janela dividida verticalmente no Vim? Tenho dois arquivos que gostaria de comparar aproximadamente. Cada linha desses arquivos parece quase igual.

Respostas:


90

Consulte a documentação para vinculação de rolagem . Você precisará definir isso para cada janela que deseja vincular (por exemplo, no mínimo 2)

Se você está comparando 2 arquivos, no entanto, vimdiff pode ser mais útil


4
Vimdiff ... onde você esteve toda a minha vida?
— hoosierEE

@BrianAgnew apenas nos dê um comando para copiar, cara. Facilita nossas vidas. Obrigado por vimdiff, no entanto!
— Nathan

184

Vá para a primeira divisão e digite

:set scrollbind

Vá para o próximo ( ctrl+ w) e faça o mesmo.

Desabilitar:

:set noscrollbind

Para obter mais informações, verifique a documentação para vinculação de rolagem - http://vimdoc.sourceforge.net/htmldoc/scroll.html#scroll-binding


58
Se você tem todos os arquivos abertos, também pode :windo set scrollbindconfigurá-los para todas as divisões de uma vez.
— Bernhard

54
:windo set scrollbind

irá definir o scrollbind em todas as janelas.


3
Se você se nmap <F5> :windo set scrollbind!<cr>pega fazendo muito isso, pode ser útil ter algo como alternar a barra de rolagem em todas as janelas abertas.
— jlund3

Não sei por que, mas scrollbind!não funcionou para mim, mas invscrollbindfuncionou. Um mapeamento SUPER. Obrigado!
— UlfR de

11

Bom dia,

Tentou usar o vimdiff nos dois arquivos?

vimdiff file1 file2

Isso fornecerá a ligação de rolagem por padrão.


1
o problema é que todas as linhas são diferentes, está começando a ficar uma bagunça ... As linhas são quase iguais, mas podem diferir em um caractere ... e eu não quero que minha visão seja muito perturbada ... obrigado.
— LB40

1
@ LB40 você pode considerar ajustar seu
— esquema de cores

8

Na linha de comando:

vim -O file1 file2 -c 'windo set scb!'

-O = aberto lado a lado.

-c = o que segue entre aspas é tratado como uma opção do vim.

'windo' = aplica-se a todos os painéis.

'scb' = abreviação para scrollbind. Economiza um pouco de digitação, mas os dois são intercambiáveis.

'!' = alternar. Dessa forma, você pode usar o mesmo comando para desligá-lo posteriormente, se desejar.


5

Para a posteridade, eis o que eu precisava fazer, já que não comecei com o vimdiff.

Eu carreguei um arquivo. Então: vsp para carregar o outro.

Eles são arquivos bem diferentes, mas eu queria ver o que há de comum entre eles.

Assim...

:set diff
:set diffopt=iwhite
:set scrollbind

3
Você pode obter todos aqueles para um determinado buffer (: diff,: diffopt,: scrollbind) em um comando com: diffthis em cada um dos buffers
— qneill
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.