Dzisiaj zacząłem używać vimdiff i chciałem robić pewne rzeczy, które uznałem za oczywiste w edytorach różnic opartych na systemie Windows (takich jak rozwijanie / zwijanie sekcji różnic, pełne rozszerzenie pliku / tylko różnice z 3 liniami kontekstu powyżej lub poniżej itp.). Obecnie znam tylko następujące polecenia:
Skróty klawiszowe:
do - Pobierz zmiany z innego okna do bieżącego okna.
dp - Umieść zmiany z bieżącego okna w drugim oknie.
]c - Przejdź do następnej zmiany.
[c - Przejdź do poprzedniej zmiany.
CTRL+ W, w- Przełącz do drugiego podzielonego okna ( CTRL+ W, CTRL+ Wrobi to samo, na wypadek, gdybyś puścił CTRLklawisz nieco później)
Czy ktoś mógłby wskazać mi właściwy kierunek, abym mógł odtworzyć podobne funkcje?
Byłoby miło, gdybym mógł na przykład rozwinąć / zwinąć linie wokół różnic.
Odpowiedzi:
Oprócz tych, o których wspominasz, używam tylko często, gdy różnicuję następujące elementy:
:diffupdate
:diffu
-> przelicz różnicę, przydatne, gdy po dokonaniu kilku zmian vim nie pokazuje już minimalnych zmian. Zauważ, że działa to tylko wtedy, gdy pliki zostały zmodyfikowane w vimdiff. W przeciwnym razie użyj::e
przeładować pliki, jeśli zostały zmodyfikowane poza vimdiff.:set noscrollbind
-> tymczasowo wyłącz jednoczesne przewijanie na obu buforach, ponownie włącz:set scrollbind
i przewijaj.Większość tego, o co prosiłeś, to składanie: rozdział instrukcji składania vima na temat składania . Poza różnicami czasami używam:
zo
-> otwórz krotnie.zc
-> zamknij krotnie.Ale prawdopodobnie lepiej będzie ci służyć:
zr
-> zmniejszenie poziomu składania.zm
-> proszę o jeszcze jeden poziom składania.lub nawet:
zR
-> Zmniejsz całkowicie składanie, powiedziałem !.zM
-> fold Most !.Inną kwestię, o którą prosiłeś, użyj n linii składania, można znaleźć w instrukcji manuala vim na temat opcji , poprzez sekcję na diff :
set diffopt=<TAB>
, a następnie zaktualizuj lub dodajcontext:n
.Powinieneś także zajrzeć do instrukcji obsługi na diff .
źródło
:set noscrollbind
zadziałało, należy go również:set nocursorbind
użyć, co nie jest ustawieniem domyślnym. Tak więc obie opcje muszą zostać dostosowane.ustaw vimdiff, aby ignorował wielkość liter
Po uruchomieniu vim diff z
Uważam, że irytująco jeden plik ma słowa kluczowe MySQL pisane małymi literami, a inne wielkie litery pokazują różnice w praktycznie każdej innej linii
To dynamicznie aktualizuje ekran i możesz równie łatwo go ponownie wyłączyć
źródło
W rzeczywistości, jeśli to zrobisz
Ctrl+W W
, nie będziesz musiał dodawać tego dodatkowegoCtrl
. Robi to samo.źródło
ctrl + w, w, jak wspomniano, może być używany do nawigacji z okienka do okienka.
Teraz możesz wybrać konkretną zmianę samodzielnie i wkleić ją do drugiego panelu w następujący sposób. Tutaj podaję np. Tak, jakbym chciał zmienić swój fragment kodu z panelu 1 na panel 2, a obecnie mój kursor znajduje się w panelu 1
Użyj Shift-v, aby podświetlić linię, i użyj klawiszy strzałek w górę lub w dół, aby wybrać wymagany fragment kodu i kontynuuj od kroku 3 napisanego poniżej, aby wkleić zmiany w drugim panelu.
Użyj trybu wizualnego, a następnie zmień go
1 kliknięcie „v” spowoduje przejście do trybu wizualnego 2 za pomocą klawisza strzałki w górę lub w dół, aby wybrać wymagany kod 3 kliknięcie, klawisz Esc „Esc” 4 Teraz użyj „yy”, aby skopiować, lub „dd”, aby wyciąć zmianę 5 do ctrl + w, w ', aby przejść do panelu 2 6 kliknij „p”, aby wkleić zmianę tam, gdzie jest to wymagane
źródło