Riga di comando e git difftool¶
OctoEdit ha una superficie di riga di comando piccola e adatta agli script: aprire
file (con una posizione del cursore facoltativa), regolare un'esecuzione con qualche
opzione e — il pezzo forte — fare da visualizzatore rapido di confronto tra due file
per git difftool.
I percorsi possono essere relativi o assoluti. Quando viene avviato da una console,
--help/--version stampano lì; avviati in qualunque altro modo, compaiono invece
in una piccola finestra di dialogo.
Aprire i file¶
- Ogni file si apre in una scheda propria. Un percorso che non esiste ancora si apre come un nuovo buffer non salvato legato a quel nome (salvando si crea il file).
- Un
:rigao:riga:colonnain coda al primo file sposta il cursore (a partire da 1, limitato al documento) — comodo dall'output di compilatori e di grep:
- Con l'istanza singola attiva (l'impostazione predefinita), un secondo avvio inoltra i suoi file alla finestra in esecuzione e termina.
Opzioni¶
| Opzione | Significato |
|---|---|
-h, --help |
Stampa l'uso e termina. |
-v, --version |
Stampa la versione dell'applicazione e termina. |
--log <level> |
Livello minimo di log per questa esecuzione: trace, debug, info, warning o error. |
--rendering <mode> |
Come questa esecuzione compone le sue finestre: gpu (il valore predefinito) o cpu. Vale solo per quell'esecuzione (vedi sotto). |
--list-debug-flags |
Elenca i flag di debug riconosciuti con i valori attuali e termina. |
--diff <left> <right> |
Confronta due file in un visualizzatore passeggero in sola lettura (implica --viewer). |
--viewer |
Istanza di visualizzazione passeggera e in sola lettura (vedi sotto). |
--readonly |
Apre i file indicati in sola lettura (vedi sotto). |
--rendering: composizione della finestra per una sola esecuzione¶
Scegli come questa esecuzione compone le sue finestre — gpu (il valore predefinito) o
cpu — e nient'altro. Che cosa significano le due modalità è spiegato in
Preferenze ▸ Generale ▸ Rendering della finestra.
- Vale solo per quell'esecuzione e non viene mai salvato: il prossimo avvio normale torna a quanto dicono le Preferenze.
- La modalità è decisa prima che la prima finestra esista e non può cambiare mentre l'editor
è in esecuzione, quindi copre allo stesso modo la finestra dell'editor e una finestra
--viewer/--diff. Una modalità sconosciuta viene segnalata e ignorata. - Con l'istanza unica attiva (il valore predefinito), un avvio inoltrato a un editor già
aperto gli consegna soltanto i suoi file: la finestra in esecuzione mantiene la modalità
con cui è partita, e lì
--renderingnon cambia nulla.
Se dopo l'avvio la finestra dell'editor non è utilizzabile
Se la finestra compare disegnata male, o non compare affatto, avvia l'editor una volta
con --rendering=cpu e poi imposta tu stesso Preferenze ▸ Generale ▸ Rendering della
finestra su CPU: l'opzione della riga di comando non viene ricordata, quindi ti fa
solo entrare, ed è l'impostazione a rendere la scelta stabile.
Se nemmeno questo è possibile, l'impostazione si può scrivere a mano con l'editor chiuso.
Aggiungi alla sezione [app] del file di configurazione:
Il file si trova in:
- Windows:
%APPDATA%\7-bits\OctoEdit.ini - macOS:
~/.config/7-bits.eu/OctoEdit.ini - Linux:
~/.config/7-bits/OctoEdit.conf
--readonly: aprire file specifici bloccati¶
Apre i file indicati con la modifica disattivata: i comandi che modificano (Taglia,
Incolla, Annulla…) appaiono in grigio per quelle schede, mentre Copia continua a
funzionare. A differenza di --viewer, questa è un'istanza normale dell'editor:
la tua sessione viene ripristinata, puoi aprire e modificare qualsiasi altro
documento, e un secondo avvio con --readonly inoltra i suoi file alla finestra in
esecuzione, anch'essi bloccati. Due salvaguardie: un file indicato che è già aperto
con modifiche non salvate resta modificabile (l'opzione non intrappola mai
modifiche che non potresti più salvare), e un percorso indicato che non esiste ancora
si apre come un buffer vuoto bloccato.
--diff: una finestra di confronto tra due file¶
Apre una finestra separata e usa e getta la cui unica scheda è il confronto affiancato dei due file: con colorazione della sintassi, in sola lettura e con tutto il corredo di confronto — navigazione tra le differenze, il righello panoramico, gli interruttori di ignora-spazi-bianchi/maiuscole e di Allineato, e l' unione tramite copia delle modifiche con salvataggio per lato (entrambi gli operandi sono file veri, quindi funzionano tutte e due le direzioni).
- Sono richiesti esattamente due file esistenti. Un file mancante o una directory
vengono segnalati e il processo termina con il codice
2senza aprire alcuna finestra dell'editor (il confronto tra directory vive nel plugin Confronto di cartelle). - Il processo resta vivo finché non chiudi la finestra, poi termina con
0— che è esattamente ciò chegit difftoolattende. - La finestra è indipendente dal tuo OctoEdit normale: non entra mai nel meccanismo
di istanza singola, non carica plugin e non salva nulla (niente sessione, niente
disposizione, niente voci di file recenti). Il tuo editor e la sua sessione restano
intatti, e qualsiasi numero di finestre
--diffpuò coesistere con essi. - L'assistente IA resta disponibile: fa parte del nucleo. Porgere una domanda lì comunica automaticamente all'agente quali due file sono sullo schermo (e gli concede accesso in lettura a entrambi), così «che cosa è cambiato tra questi file?» funziona senz'altro.
Configurarlo come tuo git difftool¶
# .gitconfig
[diff]
tool = octoedit
[difftool]
prompt = false
[difftool "octoedit"]
cmd = OctoEdit --diff "$LOCAL" "$REMOTE"
Poi, ad esempio:
Tip
Assicurati che OctoEdit.exe sia nel tuo PATH, oppure scrivi il suo percorso
completo nella riga cmd =.
--viewer: un visualizzatore usa e getta in sola lettura¶
Un'istanza passeggera per dare un'occhiata rapida a un file, senza disturbare la tua
vera sessione di lavoro (implicita in --diff):
- I file indicati sulla riga di comando si aprono normalmente, poi l'istanza viene bloccata: i buffer sono in sola lettura, File ▸ Nuovo/Apri/Salva e tutti i comandi di Confronta sono disattivati, e nulla può aprire un'altra scheda.
- Chiudere l'ultima scheda chiude la finestra.
- Nulla viene conservato: nessun salvataggio o ripristino di sessione, nessuna scrittura della disposizione della finestra, nessuna voce di file recenti.
- Non viene caricato alcun plugin, quindi si avvia in fretta; le funzionalità del nucleo —colorazione della sintassi, temi, l'assistente IA— restano disponibili.
Codici di uscita¶
| Codice | Significato |
|---|---|
0 |
Uscita normale, inclusa una finestra --diff/--viewer chiusa. |
2 |
Richiesta --diff non valida (numero di operandi errato, file mancante, operando che è una directory). |