Le recenti modifiche apportate alla documentazione menzionano un modo diverso di rimuovere un'opzione predefinita per less
(essere "opzioni predefinite"FRSX
).
Per questa domanda, questo sarebbe (git 1.8+)
git config --global --replace-all core.pager 'less -+F -+X'
Ad esempio, Dirk Bester suggerisce nei commenti :
export LESS="$LESS -FRXK"
così che divento colorato con Ctrl-Cquit da less
.
Wilson F menziona nei commenti e nella sua domanda che:
meno supporta lo scorrimento orizzontale, quindi quando le linee vengono troncate, meno disabilita la schermata di chiusura in modo che l'utente possa ancora scorrere il testo a sinistra per vedere cosa è stato tagliato.
Tali modifiche erano già visibili in git 1.8.x, come illustrato in " Usa sempre il cercapersone pergit diff
" (vedere i commenti). Ma la documentazione è appena stata riformulata ( per git 1.8.5 o 1.9, Q4 2013 ).
Visualizzatore di testo per l'uso da parte dei comandi Git (ad esempio, "meno").
Il valore deve essere interpretato dalla shell.
L'ordine di preferenza è:
- il
$GIT_PAGER
variabile d'ambiente,
- poi
core.pager
configurazione,
- poi
$PAGER
,
- e quindi il valore predefinito scelto al momento della compilazione (di solito "meno").
Quando la LESS
variabile d'ambiente non è impostata, Git la imposta su FRSX
(se LESS
la variabile d'ambiente è impostata, Git non la modifica affatto).
Se si desidera sostituire selettivamente l'impostazione predefinita di Git per LESS
, è possibile impostare core.pager
ad esless -+S
.
Questo sarà passato alla shell da Git, che tradurrà il comando finale in LESS=FRSX less -+S
. L'ambiente dice al comando di impostare l' S
opzione per tagliare le linee lunghe, ma la linea di comando la reimposta sul valore predefinito per piegare le linee lunghe.
Vedi commit 97d01f2a per il motivo dietro la nuova formulazione della documentazione:
config: riscrivi la core.pager
documentazione
Il testo menziona core.pager
e GIT_PAGER
senza dare il quadro generale della precedenza. Prendi in prestito una descrizione migliore dalla git var
(1) documentazione.
L'uso del meccanismo per consentire i file di configurazione a livello di sistema, globale e per repository non è limitato a questa particolare variabile. Rimuovilo per chiarire il paragrafo.
Riscrivi la parte che spiega come la variabile di ambiente LESS
è impostata sul valore predefinito di Git e come personalizzarla in modo selettivo.
Nota: commit b327583 ( Matthieu Moymoy
, aprile 2014, per git 2.0.x / 2.1, Q3 2014) rimuoverà la S di default:
cercapersone: rimuovere 'S' da $ LESS per impostazione predefinita
Per impostazione predefinita, Git utilizzato per impostare $LESS
per -FRSX
se $LESS
non è stato impostato dall'utente.
Le FRX
bandiere in realtà hanno senso per Git ( F
e X
perché a volte l'output delle pipe di Git su short è corto, e R
perché le pipe di Git hanno un output colorato).
Il S
flag (chop long line), d'altra parte, non è correlato a Git ed è una questione di preferenza dell'utente. Git non dovrebbe decidere che l'utente cambi LESS
le impostazioni predefinite .
Più specificamente, il S
flag danneggia gli utenti che esaminano il codice non attendibile all'interno di un cercapersone, poiché una patch appare come:
-old code;
+new good code; [... lots of tabs ...] malicious code;
sembrerebbe identico a:
-old code;
+new good code;
Gli utenti che preferiscono il vecchio comportamento possono comunque impostare -FRSX
esplicitamente la variabile d'ambiente $ LESS su , oppure impostare core.pager su ' less -S
'.
La documentazione leggerà:
L'ambiente non imposta l' S
opzione ma la riga di comando sì, indicando meno di troncare le linee lunghe.
Allo stesso modo, l'impostazione core.pager
su less -+F
disattiverà l' F
opzione specificata dall'ambiente dalla riga di comando, disattivando il quit if one screen
comportamento " " di less
.
È possibile attivare in modo specifico alcuni flag per comandi particolari: ad esempio, l'impostazione pager.blame
per less -S
abilitare il troncamento di linea solo per git blame
.
core.pager 'less -+F -+X'
sarebbe un modo più recente per rimuovere quelle opzioni. Vedi la mia risposta qui sotto .