Porównanie / Diff¶
Porównaj dwa pliki (albo plik z jego niezapisanym buforem) i zobacz dokładnie, co się zmieniło — linia po linii i znak po znaku — w widoku obok siebie, a potem przenieś wybrane zmiany na drugą stronę i zapisz wynik.
Rozpoczęcie porównania¶
Wszystkie sposoby porównywania mieszczą się w głównym menu Porównanie:
| Polecenie | Porównuje |
|---|---|
| Porównanie ▸ Porównaj dwa pliki… | Dwa pliki wybrane z dysku. |
| Porównanie ▸ Porównaj z zapisanym | Aktywny bufor (Twoje niezapisane zmiany) z wersją na dysku. |
| Porównanie ▸ Porównaj z plikiem… | Aktywny dokument z wybranym plikiem. |
| Porównanie ▸ Porównaj z ▸ | Aktywny dokument z inną otwartą kartą — podmenu wymienia każdy inny otwarty dokument (* oznacza niezapisane zmiany) i porównuje żywe bufory, bez zapisywania. |
| Porównanie ▸ Porównaj foldery… | Dwa drzewa katalogów — zapewnia to wtyczka Porównanie folderów. |
OctoEdit --diff a b (wiersz poleceń) |
Dwa pliki, w samodzielnym oknie przeglądarki — integracja z git difftool. |
Powiadomienie o zmianie pliku także oferuje przycisk Porównaj, więc możesz przejrzeć zewnętrzną zmianę przed ponownym wczytaniem.
Pliki są dekodowane według wykrytego kodowania (UTF-8 z BOM lub bez, UTF-16 LE/BE albo systemowa strona kodowa ANSI), więc pliki inne niż UTF-8 porównują się poprawnie — a zapis scalonej strony ponownie koduje plik w jego oryginalnym kodowaniu, łącznie z BOM.
Czytanie wyniku¶
Porównanie otwiera się w nowej karcie z dwoma plikami obok siebie; oba panele przewijają się razem.
- Dodane / usunięte / zmienione linie dostają kolorowe tło całej linii oraz pasek obok numerów linii.
- Blok dwóch lub więcej linii, który został przeniesiony (usunięty w jednym miejscu, wstawiony bez zmian w innym — zmiana wcięć nie ma znaczenia), jest pokazywany na niebiesko po obu stronach zamiast zwykłej zieleni/czerwieni, więc przetasowanie nie zostaje pomylone z edycją.
- Wewnątrz pary zmienionych linii dokładnie te znaki, które się różnią, są obramowane mocniejszym kolorem akcentu, więc edycja jednego słowa w długiej linii rzuca się w oczy. Podświetlenie dosuwa się do granic słów, gdy to możliwe.
- Wszystkie te kolory podążają za aktywnym motywem i można je dostosować per motyw (zobacz Edytor motywów); wbudowane są sensowne domyślne dla wariantów jasnego i ciemnego.
Bardzo duże porównania (powyżej ~1 MB) liczą się w tle — panele pojawiają się od razu z podsumowaniem „Porównywanie…", a znaczniki lądują, gdy diff się zakończy.
Edycja ▸ Kopiuj i Zaznacz wszystko (oraz ich skróty) działają na panelu, w którym aktualnie stoi kursor — kliknij w panel, aby wybrać źródło kopiowania.
Pasek narzędzi¶
| Kontrolka | Działanie |
|---|---|
| ↓ Następna / ↑ Poprzednia | Przeskakuje oba panele do następnej/poprzedniej różnicy (umieszczanej mniej więcej w jednej trzeciej widoku). Także Alt+Down / Alt+Up, gdy karta porównania ma fokus. |
| Ignoruj białe znaki | Traktuje linie różniące się tylko odstępami jako równe. |
| Ignoruj wielkość liter | Traktuje różnice wielkości liter jako równe. |
| Wyrównane (domyślnie włączone) | Dopełnia krótszą stronę każdej zmiany pustymi liniami wypełniającymi, aby dopasowane obszary leżały dokładnie obok siebie w całym oknie. Same pliki nigdy nie są modyfikowane. |
| Zamień strony | Zamienia obie strony (tytuły, zawartość, oczekujące kopie i resztę) i porównuje ponownie w drugą stronę. |
| Zapisz lewą / Zapisz prawą | Zapisuje tekst danej strony z powrotem do pliku po skopiowaniu do niej zmian. Aktywne tylko, gdy strona ma niezapisane kopie; ukryte dla strony istniejącej tylko w pamięci. |
Podsumowanie pokazuje liczbę różnic; identyczne pliki dodatkowo wyświetlają wyśrodkowaną, nie do przeoczenia nakładkę „Pliki są identyczne".
Linijka przeglądowa¶
Wąska kolumna przy prawej krawędzi pokazuje całe porównanie w pigułce — jedna kolorowa kreska na różnicę (zielona dodana, czerwona usunięta, bursztynowa zmieniona, niebieska przeniesiona), rozmieszczone proporcjonalnie do miejsca w dokumencie. Kliknij kreskę (albo dowolne miejsce kolumny), aby skoczyć do najbliższej różnicy.
Scalanie: kopiowanie zmiany na drugą stronę¶
Kliknij prawym przyciskiem dowolny panel, aby działać na różnicy pod kliknięciem:
| Pozycja menu | Działanie |
|---|---|
| Kopiuj / Zaznacz wszystko | Zwykłe operacje schowka dla paneli tylko do odczytu. |
| Kopiuj zmianę w prawo | Zastępuje blok tej zmiany po prawej stronie blokiem z lewej. |
| Kopiuj zmianę w lewo | To samo w drugą stronę. |
| Cofnij kopiowanie | Wycofuje ostatnią kopię (także Ctrl+Z, gdy karta porównania ma fokus). |
Uwagi:
- Oba kierunki działają niezależnie od tego, który panel zmiany klikniesz — łącznie z „pustą" stroną czystego wstawienia lub usunięcia.
- Kopiowane linie przejmują końce linii pliku docelowego, więc scalanie między plikiem CRLF a LF nigdy nie daje mieszanych końcówek.
- Po kopii porównanie przelicza się od razu; oba widoki zostają na miejscu.
- Strona zmodyfikowana kopiami pokazuje aktywny przycisk Zapisz lewą/prawą; zapis pisze plik atomowo i czyści stan modyfikacji. Kopiowanie do strony, która nie ma pliku na dysku (np. strony niezapisanego bufora w Porównaj z zapisanym), nie jest możliwe — nie byłoby gdzie zapisać.
- Zamknięcie karty porównania z niezapisanymi kopiami pyta przed ich porzuceniem.
Przywracane razem z sesją
Porównanie plik–plik jest zapamiętywane i otwierane ponownie przy następnym uruchomieniu. Porównania z niezapisanym buforem nie da się przywrócić (strona w pamięci znika po wyjściu), a niezapisane kopie nie są utrwalane — najpierw je zapisz.