Desplazarse hacia abajo en ambas partes de una ventana dividida al mismo tiempo en Vim


119

¿Es posible desplazarse hacia abajo en las partes izquierda y derecha de una ventana dividida verticalmente en Vim? Tengo dos archivos que me gustaría comparar aproximadamente. Cada línea de estos archivos se ve casi igual.

Respuestas:


90

Consulte la documentación para la encuadernación con desplazamiento . Deberá configurar esto para cada ventana que desee enlazar (por ejemplo, un mínimo de 2)

Sin embargo, si está comparando 2 archivos, vimdiff puede ser más útil


4
Vimdiff ... ¿dónde has estado toda mi vida?
— hoosierEE

@BrianAgnew solo danos un comando para copiar, hombre. Nos facilita la vida. ¡Gracias por vimdiff!
— Nathan

184

Vaya a la primera división y escriba

:set scrollbind

Vaya al siguiente ( ctrl+ w) y haga lo mismo.

Deshabilitar:

:set noscrollbind

Para obtener más información, consulte la documentación de enlace de desplazamiento: http://vimdoc.sourceforge.net/htmldoc/scroll.html#scroll-binding


58
Si tiene todos los archivos abiertos, también puede :windo set scrollbindconfigurarlo para todas las divisiones a la vez.
— Bernhard

54
:windo set scrollbind

establecerá scrollbind en todas las ventanas.


3
Si se encuentra haciendo esto mucho, puede resultarle útil tener algo como nmap <F5> :windo set scrollbind!<cr>alternar el desplazamiento en todas las ventanas abiertas.
— jlund3

No sé por qué, pero scrollbind!no funcionó para mí, pero lo invscrollbindhizo. Un mapa SUPER. ¡Gracias!
— UlfR

11

Buenos dias

¿Intentó usar vimdiff en los dos archivos?

vimdiff file1 file2

Esto le dará el enlace de desplazamiento por defecto.


1
el problema es que todas las líneas difieren, está empezando a ser un desastre. Las líneas son casi iguales pero pueden diferir en un carácter ... y no quiero que mi vista se vea demasiado alterada ... aunque gracias.
— LB40

1
@ LB40, podría considerar modificar su esquema de colores, consulte stackoverflow.com/questions/24666558/…
— qneill

8

Desde la línea de comando:

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

-O = abierto uno al lado del otro.

-c = lo que sigue entre comillas se trata como una opción de vim.

'windo' = se aplica a todos los paneles.

'scb' = abreviatura de scrollbind. Ahorra algo de escritura, pero los dos son intercambiables.

'!' = alternar. De esta manera, puede usar el mismo comando para apagarlo más tarde si así lo desea.


5

Para la posteridad, esto es lo que tenía que hacer, ya que no comencé con vimdiff.

Cargué un archivo. Entonces: vsp para cargar el otro.

Son archivos bastante diferentes, pero quería ver qué tienen en común entre ellos.

Entonces...

:set diff
:set diffopt=iwhite
:set scrollbind

3
Puede obtener todos los de un búfer determinado (: diff,: diffopt,: scrollbind) en un comando con: diffthis en cada uno de los búferes
— qneill
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.