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.