Scorrendo contemporaneamente entrambe le parti di una finestra divisa in Vim


119

È possibile scorrere le parti sinistra e destra di una finestra divisa verticalmente in Vim? Ho due file che vorrei confrontare approssimativamente. Ogni riga di questi file sembra quasi la stessa.

Risposte:


90

Vedere la documentazione per l'associazione a scorrimento . Dovrai impostarlo per ogni finestra che desideri vincolare (ad esempio un minimo di 2)

Se stai confrontando 2 file, tuttavia, vimdiff potrebbe essere più utile


4
Vimdiff ... dove sei stato tutta la mia vita?
hoosierEE

@BrianAgnew ci dia un comando per copiare, amico. Rende le nostre vite più facili. Grazie per vimdiff, però!
Nathan

184

Vai alla prima divisione e digita

:set scrollbind

Vai a quello successivo ( ctrl+ w) e fai lo stesso.

Disabilitare:

:set noscrollbind

Per maggiori informazioni, controlla la documentazione per l'associazione di scorrimento: http://vimdoc.sourceforge.net/htmldoc/scroll.html#scroll-binding


58
Se hai tutti i file aperti, puoi anche :windo set scrollbindimpostarlo per tutte le suddivisioni contemporaneamente.
Bernhard

54
:windo set scrollbind

imposterà lo scrollbind in tutte le finestre.


3
Se ti nmap <F5> :windo set scrollbind!<cr>accorgi di farlo spesso , potrebbe essere utile avere qualcosa come attivare lo scrollbind in tutte le finestre aperte.
jlund3

Non so perché, ma scrollbind!non ha funzionato per me, ma invscrollbindha funzionato. Una mappatura SUPER. Grazie!
UlfR

11

Buongiorno,

Hai provato a usare vimdiff sui due file?

vimdiff file1 file2

Questo ti darà l'associazione di scorrimento per impostazione predefinita.


1
il problema è che tutte le linee sono diverse, comincia a essere un disastro .. Le linee sono quasi le stesse ma possono differire di un carattere ... e non voglio che la mia vista sia troppo disturbata .. grazie però.
LB40

1
@ LB40 si potrebbe considerare tweaking tuo colorscheme, vedere stackoverflow.com/questions/24666558/...
qneill

8

Dalla riga di comando:

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

-O = aperto fianco a fianco.

-c = ciò che segue tra virgolette viene trattato come un'opzione di vim.

'windo' = si applica a tutti i pannelli.

'scb' = scorciatoia per scrollbind. Salva un po 'di digitazione, ma i due sono intercambiabili.

'!' = attiva / disattiva. In questo modo puoi utilizzare lo stesso comando per disattivarlo in seguito, se lo desideri.


5

Per i posteri, ecco cosa dovevo fare, dato che non ho iniziato con vimdiff.

Ho caricato un file. Quindi: vsp per caricare l'altro.

Sono file abbastanza diversi, ma volevo vedere cosa c'è in comune tra di loro.

Così...

:set diff
:set diffopt=iwhite
:set scrollbind

3
Puoi ottenere tutti quelli per un dato buffer (: diff,: diffopt,: scrollbind) in un comando con: diffthis in ciascuno dei buffer
qneill
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.