Niech vimdiff pokaże cały plik

37

W jaki sposób vimdiff pokazuje całą zawartość różnicowanych plików? Chciałbym wyróżnić różnice kolorów, ale nadal chciałbym zobaczyć całe pliki, tj. Również te same części.

metafora pytoniczna
źródło

Odpowiedzi:

48

vimdiffustawia foldmethod difftak, że wszystkie niezmienione linie są składane. Od wewnątrz vimdiffmożesz otworzyć wszystkie fałdy, naciskając zR.

Jeśli chcesz zawsze wyświetlać pełny kontekst, możesz zwiększyć liczbę wyświetlanych linii kontekstu do dużej liczby. W twoim ~/.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
źródło
6
Tak, zRjest to najlepsza droga. Uwaga: zaodtworzy fałdy.
sleske,
@sleske zanie zamyka się, ale zMtak, jak wynika z odpowiedzi @ Thomas.
MycrofD
@MycrofD: Tak. Mówiąc ściślej: zazamknie pojedyncze zagięcie (to pod kursorem); zMzamknie wszystkie fałdy. Oba mogą być przydatne.
sleske
Czy istnieje opcja zwiększenia rozwiniętych linii kontekstu w samym poleceniu vimdiff? Będzie to przydatne podczas uruchamiania z pliku skryptu powłoki.
itsraja
Tak, istnieje, vimdoc.sourceforge.net/htmldoc/options.html#'diffopt ', np. Aby wyświetlić 42 linie kontekstu, które można ustawić set diffopt+=context:42.
Benjamin Bannier
3

Umieszczenie kursora na linii, którą chcesz rozwinąć i naciśnięcie spacji działa dla mnie!

Wygląda na to, że czasami musiałem także używać klawiszy strzałek.

Nate
źródło