Buat vimdiff tampilkan seluruh file

37

Bagaimana Anda bisa vimdiff menunjukkan seluruh isi file yang dibedakan? Saya ingin menyoroti perbedaan warna, tetapi masih ingin melihat seluruh file, yaitu bagian-bagian yang identik juga.

metafora pythonic
sumber

Jawaban:

48

vimdiffset foldmethod diffsehingga semua garis yang tidak berubah dilipat. Dari dalam vimdiffAnda dapat membuka semua lipatan dengan menekan zR.

Jika Anda ingin selalu menampilkan konteks penuh, Anda dapat meningkatkan jumlah baris konteks terbuka yang ditunjukkan ke sejumlah besar. Di Anda ~/.vimrc:

if &diff                             " only for diff mode/vimdiff
  set diffopt=filler,context:1000000 " filler is default and inserts empty lines for sync
endif
Benjamin Bannier
sumber
6
Ya, zRadalah cara untuk pergi. Catatan: zaakan membuat ulang lipatan.
sleske
@sleske zatidak menutup tetapi zMtidak, sebagaimana terbukti dari jawaban @Thomas .
MycrofD
@ MicrofD: Ya. Tepatnya: zaakan menutup satu lipatan (yang di bawah kursor); zMakan menutup semua lipatan. Keduanya bisa bermanfaat.
sleske
Apakah ada opsi untuk meningkatkan baris konteks yang tidak dilipat dalam perintah vimdiff itu sendiri. Ini akan berguna saat menjalankan dari file skrip shell.
itsraja
Ya, ada lihat, vimdoc.sourceforge.net/htmldoc/options.html#'diffopt ', misalnya, untuk melihat dengan 42 baris konteks yang dapat ditetapkan set diffopt+=context:42.
Benjamin Bannier
3

Menempatkan kursor pada garis yang ingin Anda kembangkan dan memukul spasi akan berhasil bagi saya!

Sepertinya saya terkadang harus menggunakan tombol panah.

Nate
sumber