Wiersz poleceń i git difftool¶
OctoEdit ma niewielki, przyjazny skryptom interfejs wiersza poleceń: otwieranie
plików (z opcjonalną pozycją kursora), kilka opcji modyfikujących uruchomienie
oraz — na pierwszym planie — rola szybkiej przeglądarki porównania dwóch plików
dla git difftool.
Ścieżki mogą być względne lub bezwzględne. Przy starcie z konsoli
--help/--version wypisują się w niej; uruchomione inaczej, pojawiają się w
małym oknie dialogowym.
Otwieranie plików¶
- Każdy plik otwiera się we własnej karcie. Ścieżka, która jeszcze nie istnieje, otwiera się jako nowy, niezapisany bufor powiązany z tą nazwą (zapis tworzy plik).
- Końcówka
:linialub:linia:kolumnaprzy pierwszym pliku przesuwa kursor (liczone od 1, przycinane do dokumentu) — wygodne z kompilatorów i wyników grep:
- Przy włączonej pojedynczej instancji (domyślnie) drugie uruchomienie przekazuje swoje pliki do działającego okna i kończy pracę.
Opcje¶
| Opcja | Znaczenie |
|---|---|
-h, --help |
Wypisz sposób użycia i zakończ. |
-v, --version |
Wypisz wersję aplikacji i zakończ. |
--log <poziom> |
Minimalny poziom logowania dla tego uruchomienia: trace, debug, info, warning lub error. |
--list-debug-flags |
Wypisz rozpoznawane flagi debugowania z bieżącymi wartościami i zakończ. |
--diff <lewy> <prawy> |
Porównaj dwa pliki w tymczasowej przeglądarce tylko do odczytu (implikuje --viewer). |
--viewer |
Tymczasowa instancja przeglądarki tylko do odczytu (patrz niżej). |
--readonly |
Otwórz wymienione pliki tylko do odczytu (patrz niżej). |
--readonly: otwieranie wybranych plików z blokadą¶
Otwiera wymienione pliki z zablokowaną edycją — polecenia modyfikujące
(Wytnij, Wklej, Cofnij…) są dla tych kart wyszarzone, a Kopiuj nadal działa.
W odróżnieniu od --viewer to normalna instancja edytora: sesja się
przywraca, możesz otwierać i edytować inne dokumenty, a drugie uruchomienie z
--readonly przekazuje swoje pliki do działającego okna również z blokadą.
Dwie barierki: plik z listy, który jest już otwarty z niezapisanymi
zmianami, pozostaje edytowalny (flaga nigdy nie uwięzi zmian, których nie
mógłbyś już zapisać), a nieistniejąca jeszcze ścieżka z listy otwiera się jako
zablokowany pusty bufor.
--diff: okno porównania dwóch plików¶
Otwiera osobne, jednorazowe okno, którego jedyną kartą jest porównanie dwóch plików obok siebie — z kolorowaniem składni, tylko do odczytu, z pełnym zestawem narzędzi porównania: nawigacją po różnicach, linijką przeglądową, przełącznikami ignorowania białych znaków/wielkości liter i „Wyrównane" oraz scalaniem kopiowaniem zmian z zapisem per strona (oba operandy to prawdziwe pliki, więc działają oba kierunki).
- Wymagane są dokładnie dwa istniejące pliki. Brakujący plik lub katalog
zostaje zgłoszony i proces kończy się kodem
2bez otwierania okna edytora (porównywanie katalogów mieszka we wtyczce Porównanie folderów). - Proces żyje, dopóki nie zamkniesz okna, po czym kończy się kodem
0— dokładnie na to czekagit difftool. - Okno jest niezależne od Twojego zwykłego OctoEdita: nigdy nie dołącza do
mechanizmu pojedynczej instancji, nie ładuje wtyczek i niczego nie zapisuje
(żadnej sesji, układu, wpisów ostatnich plików). Twój edytor i jego sesja są
nietknięte, a okien
--diffmoże współistnieć dowolnie wiele. - Asystent AI pozostaje dostępny — jest częścią rdzenia. Zadanie tam pytania automatycznie mówi agentowi, które dwa pliki są na ekranie (i daje mu do nich dostęp do odczytu), więc pytanie „co się zmieniło między tymi plikami?" po prostu działa.
Ustaw jako swój git difftool¶
# .gitconfig
[diff]
tool = octoedit
[difftool]
prompt = false
[difftool "octoedit"]
cmd = OctoEdit --diff "$LOCAL" "$REMOTE"
Następnie na przykład:
Tip
Upewnij się, że OctoEdit.exe jest w PATH, albo wpisz pełną ścieżkę w
linii cmd =.
--viewer: jednorazowa przeglądarka tylko do odczytu¶
Tymczasowa instancja do szybkiego zerknięcia w plik, bez naruszania Twojej
prawdziwej sesji edycji (implikowana przez --diff):
- Pliki podane w wierszu poleceń otwierają się normalnie — potem instancja zostaje zablokowana: bufory są tylko do odczytu, Plik ▸ Nowy/Otwórz/Zapisz i wszystkie polecenia Porównania są wyłączone i nic nie może otworzyć kolejnej karty.
- Zamknięcie ostatniej karty zamyka okno.
- Nic nie jest utrwalane: bez zapisu/przywracania sesji, bez zapisów układu okna, bez wpisów ostatnich plików.
- Wtyczki się nie ładują, więc start jest szybki; funkcje rdzenia — kolorowanie składni, motywy, asystent AI — pozostają dostępne.
Kody wyjścia¶
| Kod | Znaczenie |
|---|---|
0 |
Normalne zakończenie, w tym zamknięcie okna --diff/--viewer. |
2 |
Nieprawidłowe żądanie --diff (zła liczba operandów, brakujący plik, operand-katalog). |