Menggulir ke bawah kedua bagian jendela terpisah pada saat yang sama di Vim


119

Apakah mungkin untuk menggulir ke bawah bagian kiri dan kanan dari jendela yang terbelah secara vertikal di Vim? Saya punya dua file yang secara kasar ingin saya bandingkan. Setiap baris file ini terlihat hampir sama.

Jawaban:


90

Lihat dokumentasi untuk penjilidan gulir . Anda harus mengatur ini untuk setiap jendela yang ingin Anda jilid (misalnya minimal 2)

Namun, jika Anda membandingkan 2 file, vimdiff mungkin lebih berguna


4
Vimdiff ... kemana saja kamu selama hidupku?
hoosierEE

@BrianAgnew beri kami perintah untuk menyalin. Membuat hidup kita lebih mudah. Terima kasih untuk vimdiff!
Nathan

184

Pergi ke pemisahan pertama, dan ketik

:set scrollbind

Pergi ke yang berikutnya ( ctrl+ w), dan lakukan hal yang sama.

Untuk menonaktifkan:

:set noscrollbind

Untuk info lebih lanjut, periksa dokumentasi untuk scroll binding - http://vimdoc.sourceforge.net/htmldoc/scroll.html#scroll-binding


58
Jika Anda membuka semua file, Anda juga :windo set scrollbinddapat mengaturnya untuk semua perpecahan sekaligus.
Bernhard

54
:windo set scrollbind

akan mengatur scrollbind di semua jendela.


3
Jika Anda sering melakukan ini, mungkin berguna untuk memiliki sesuatu seperti nmap <F5> :windo set scrollbind!<cr>mengaktifkan scrollbind di semua jendela yang terbuka.
jlund3

Tidak tahu mengapa tetapi scrollbind!tidak berhasil untuk saya, tetapi invscrollbindberhasil. Pemetaan SUPER. Terima kasih!
UlfR

11

G'day,

Mencoba menggunakan vimdiff pada dua file?

vimdiff file1 file2

Ini akan memberi Anda scroll binding secara default.


1
masalahnya adalah bahwa semua garis berbeda, itu mulai menjadi berantakan .. Garis-garisnya hampir sama tetapi mungkin berbeda satu karakter ... dan saya tidak ingin pandangan saya terlalu terganggu..terima kasih.
LB40

1
@ LB40 Anda mungkin mempertimbangkan untuk mengubah skema warna Anda, lihat stackoverflow.com/questions/24666558/…
qneill

8

Dari baris perintah:

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

-O = buka berdampingan.

-c = yang mengikuti tanda kutip diperlakukan sebagai opsi vim.

'windo' = berlaku untuk semua panel.

'scb' = singkatan dari scrollbind. Menyimpan beberapa pengetikan, tetapi keduanya dapat dipertukarkan.

'!' = beralih. Dengan cara ini Anda dapat menggunakan perintah yang sama untuk mematikannya nanti jika Anda mau.


5

Untuk anak cucu, inilah yang perlu saya lakukan, karena saya tidak memulai dengan vimdiff.

Saya memuat satu file. Kemudian: vsp untuk memuat file lainnya.

Mereka adalah file yang sangat berbeda, tetapi saya ingin melihat apa yang umum di antara mereka.

Begitu...

:set diff
:set diffopt=iwhite
:set scrollbind

3
Anda bisa mendapatkan semua itu untuk buffer tertentu (: diff,: diffopt,: scrollbind) dalam satu perintah dengan: diffthis di setiap buffer
qneill
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.