Vim'de bir bölünmüş pencerenin her iki bölümünü aynı anda aşağı kaydırmak


119

Vim'de dikey olarak bölünmüş bir pencerenin sol ve sağ kısımlarını aşağı kaydırmak mümkün müdür? Kabaca karşılaştırmak istediğim iki dosyam var. Bu dosyaların her satırı neredeyse aynı görünüyor .

Yanıtlar:


90

Kaydırmalı ciltleme için belgelere bakın . Bağlanmak istediğiniz her pencere için bunu ayarlamanız gerekir (örneğin, minimum 2)

Ancak 2 dosyayı karşılaştırıyorsanız, vimdiff daha kullanışlı olabilir


4
Vimdiff ... hayatım boyunca neredeydin?
hoosier EE

@BrianAgnew bize kopyalamamız için bir komut ver, adamım. Hayatımızı kolaylaştırır. Yine de vimdiff için teşekkürler!
Nathan

185

İlk bölüme gidin ve yazın

:set scrollbind

Bir sonrakine ( ctrl+ w) gidin ve aynısını yapın.

Devre dışı bırakmak için:

:set noscrollbind

Daha fazla bilgi için, kaydırma bağlama belgelerine bakın - http://vimdoc.sourceforge.net/htmldoc/scroll.html#scroll-binding


59
Tüm dosyalarınız açıksa, aynı :windo set scrollbindanda tüm bölmeler için ayarlamak üzere de yapabilirsiniz .
Bernhard

54
:windo set scrollbind

tüm pencerelerde kaydırma özelliğini ayarlayacaktır.


3
Kendinizi bunu çok nmap <F5> :windo set scrollbind!<cr>sık yapıyorsanız, tüm açık pencerelerde kaydırma çubuğunu değiştirmek gibi bir şeye sahip olmak yararlı olabilir .
jlund3

Nedenini bilmiyorum ama scrollbind!benim için işe yaramadı, ama invscrollbindyaptı. SÜPER haritalama. Teşekkürler!
UlfR

11

İyi günler,

İki dosya üzerinde vimdiff kullanmayı denediniz mi?

vimdiff file1 file2

Bu size varsayılan olarak kaydırma bağlamasını verecektir.


1
sorun şu ki, tüm satırlar farklı, bir karmaşa olmaya başlıyor .. Çizgiler hemen hemen aynı ama bir karakter farklı olabilir ... ve görüşümün çok fazla rahatsız olmasını istemiyorum .. yine de teşekkürler.
LB40

1
@ LB40, renk şemanızda ince ayar yapmayı düşünebilirsiniz, bkz. Stackoverflow.com/questions/24666558/…
qneill

8

Komut satırından:

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

-O = yan yana açık.

-c = tırnak işaretlerinden sonra gelenler bir vim seçeneği olarak kabul edilir.

'windo' = tüm panellere uygulanır.

'scb' = kaydırma için kısaltma. Biraz yazı yazmayı kaydeder, ancak ikisi birbirinin yerine kullanılabilir.

'!' = geçiş. Bu şekilde, isterseniz daha sonra kapatmak için aynı komutu kullanabilirsiniz.


5

Gelecek nesil için, vimdiff ile başlamadığım için yapmam gereken şey şu.

Bir dosya yükledim. Sonra: diğerini yüklemek için vsp.

Oldukça farklı dosyalar, ancak aralarında neyin ortak olduğunu görmek istedim.

Yani...

:set diff
:set diffopt=iwhite
:set scrollbind

3
Bunları belirli bir arabellek için (: diff,: diffopt,: scrollbind) tek bir komutla alabilirsiniz: diffthis her arabellekte
qneill
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.