Como posso obter as duas divisões para rolar para a esquerda ou direita ao mesmo tempo?


16

Quero abrir duas partes diferentes de um documento em divisões horizontais (usando :sp) e rolar as duas para a esquerda e para a direita juntas. Para rolagem vertical, você usaria scrollbind. No entanto, não sei o que usar para a rolagem horizontal.

Eu sei que o recurso deve estar disponível porque, quando eu uso vimdiff, ele rola horizontalmente nos dois documentos ao mesmo tempo.

Respostas:


19

Para rolar duas janelas juntas no vim, é necessário executar :set scrollbindem cada uma delas. Como você observou, por padrão, isso vincula apenas a rolagem vertical. Nos documentos para scrollbind, ele menciona:

The behavior of 'scrollbind' can be modified by the 'scrollopt' option.

:help scrolloptrevela que você deseja dizer :set scrollopt+=horpara ativar a rolagem horizontal.

Se você quiser apenas a rolagem horizontal (ou seja, desativar a rolagem vertical), também desejará dizer :set scollopt-=verou definir explicitamente o scrollopt via set scrollopt=horou :set scrollopt=hor,jump.


Não é possível desacoplar completamente a rolagem. Depois de ter: set scrollopt = (nada igual) ainda move comandos como 'm (pule para marcar "m") ou gg são executados nas duas janelas. É ubuntu gvim depois de fazer um: split vertical com nenhum arquivo especificado
Juan Lanus

Aparentemente eu resolvi o problema mencionado no comentário anterior por definição: nocursorbind conjunto, além de: conjunto scrollopt = (nada)
Juan Lanus

Não totalmente resolvido. Outra opção foi deixada: set nodiff. Meu vim estava pensando que eu estava diferenciando duas visualizações do mesmo arquivo. A opção nodiff removeu as linhas com todos os traços que o vimdiff usa para sincronizar os dois lados.
Juan Lanus 27/05
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.