Ambil perbedaan dari dua jendela yang terbuka vertikal di Vim


103

Saya telah membuka dua file. Mereka dibuka dalam mode vertikal, di samping berikutnya. Bisakah saya langsung membedakan kedua file ini tanpa meninggalkan atau menutup Vim?

Jawaban:


154

Untuk memulai diff di semua jendela yang terlihat:

:windo diffthis

yang dijalankan :diffthisdi setiap jendela.

Untuk mengakhiri mode diff:

:diffoff!

(The !merek diffoffberlaku untuk semua jendela tab saat ini - itu akan sangat baik jika diffthismemiliki fitur yang sama, tapi tidak.)


The :windoperintah membuatnya lebih baik. Terima kasih. Saya akan memetakannya agar lebih mudah.
Fatih Arslan

1
Itu jawaban yang bagus, tetapi perhatikan bahwa jendela minibufexplorer harus ditutup sebelum operasi ini, jika dibuka. Jika tidak, diff menunjukkan hasil yang salah.
baldrs

Seseorang dapat menggunakan alias :windo difft[this]. Ref::help diff
DmitrySandalov

@FatihArslan,: windo diffthis tidak melakukan apa-apa dalam kasus saya, tetapi hanya meninggalkan di kolom abu-abu sisi kiri di sebelah nomor baris. Saya memiliki dua file Vim berbeda yang terbuka.
earik87

22

di setiap jendela yang ingin Anda bedakan ketik:

:diffthis

Jika Anda ingin membedakan semua jendela yang terbuka, Anda dapat melakukan:

:windo diffthis

( windoakan menerapkan perintah ke semua jendela yang terbuka)


7

Menindaklanjuti jawaban sebelumnya,

  • :windo difft(kependekan dari diffthis) akan memulai mode diff di semua jendela yang terbuka.
  • :windo diffo(kependekan dari diffoff) akan menghentikan mode diff di semua jendela yang terbuka.

Saya memiliki pemetaan berikut di saya vimrcuntuk membuatnya lebih mudah:

command! Difft windo diffthis
command! Diffo windo diffoff

3

Mengikuti jawaban sebelumnya saya mengadaptasi pemetaan yang disediakan oleh @cxw Pemetaan berikut secara otomatis menutup NERDTree dan membeda-bedakan jendela yang terbuka. Tidak masalah jika NERDTree dekat, cara kerjanya sama. Saya melakukan ini cukup sering sehingga menghemat waktu saya.

command! Difft NERDTreeClose | windo diffthis
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.