Les récents changements dans la documentation mentionnent une manière différente de supprimer une option par défaut pour less
(les "options par défaut" étant FRSX
).
Pour cette question, ce serait (git 1.8+)
git config --global --replace-all core.pager 'less -+F -+X'
Par exemple, Dirk Bester suggère dans les commentaires :
export LESS="$LESS -FRXK"
de sorte que je reçois une couleur diff avec Ctrl-Cquitter less
.
Wilson F mentionne dans les commentaires et dans sa question que:
moins prend en charge le défilement horizontal, donc lorsque les lignes sont coupées, moins désactive la sortie si écran unique afin que l'utilisateur puisse toujours faire défiler le texte vers la gauche pour voir ce qui a été coupé.
Ces modifications étaient déjà visibles dans git 1.8.x, comme illustré dans " Toujours utiliser le pager pourgit diff
" (voir les commentaires). Mais la documentation vient d'être reformulée ( pour git 1.8.5 ou 1.9, Q4 2013 ).
Visionneuse de texte à utiliser par les commandes Git (par exemple, «moins»).
La valeur est destinée à être interprétée par le shell.
L'ordre de préférence est le suivant:
- la
$GIT_PAGER
variable d'environnement,
- puis
core.pager
configuration,
- alors
$PAGER
,
- puis la valeur par défaut choisie au moment de la compilation (généralement «moins»).
Lorsque la LESS
variable d'environnement n'est pas définie, Git la définit sur FRSX
(si LESS
la variable d'environnement est définie, Git ne la modifie pas du tout).
Si vous souhaitez remplacer de manière sélective le paramètre par défaut de Git LESS
, vous pouvez définir core.pager
par exempleless -+S
.
Cela sera transmis au shell par Git, qui traduira la commande finale en LESS=FRSX less -+S
. L'environnement indique à la commande de définir l' S
option de couper les lignes longues mais la ligne de commande la réinitialise à la valeur par défaut pour replier les lignes longues.
Voir commit 97d01f2a pour la raison de la nouvelle formulation de la documentation:
config: réécrire la core.pager
documentation
Le texte mentionne core.pager
et GIT_PAGER
sans donner le tableau d'ensemble de la préséance. Empruntez une meilleure description de la documentation git var
(1) .
L'utilisation du mécanisme pour autoriser les fichiers de configuration à l'échelle du système, globaux et par référentiel n'est pas limitée à cette variable particulière. Supprimez-le pour clarifier le paragraphe.
Réécrivez la partie qui explique comment la variable d'environnement LESS
est définie sur la valeur par défaut de Git et comment la personnaliser de manière sélective.
Remarque: commit b327583 ( Matthieu Moymoy
, avril 2014, pour git 2.0.x / 2.1, Q3 2014) supprimera le S par défaut:
pager: supprimer "S" de $ LESS par défaut
Par défaut, Git utilisé pour définir $LESS
à -FRSX
si $LESS
n'a pas été défini par l'utilisateur.
Les FRX
indicateurs ont en fait un sens pour Git ( F
et X
parce que parfois les tuyaux Git de sortie à moins sont courts, et R
parce que les tuyaux Git ont une sortie colorée).
Le S
drapeau (couper les longues lignes), d'autre part, n'est pas lié à Git et est une question de préférence de l'utilisateur. Git ne devrait pas décider que l'utilisateur change LESS
la valeur par défaut .
Plus précisément, l' S
indicateur nuit aux utilisateurs qui examinent le code non approuvé dans un pageur, car un correctif ressemblant à:
-old code;
+new good code; [... lots of tabs ...] malicious code;
semble identique à:
-old code;
+new good code;
Les utilisateurs qui préfèrent l'ancien comportement peuvent toujours définir -FRSX
explicitement la variable d'environnement $ LESS ou définir core.pager sur ' less -S
'.
La documentation se lira:
L'environnement ne définit pas l' S
option mais la ligne de commande le fait, demandant à moins de tronquer les longues lignes.
De même, la définition core.pager
de less -+F
désactivera l' F
option spécifiée par l'environnement à partir de la ligne de commande, désactivant le quit if one screen
comportement " " de less
.
On peut spécifiquement activer certains drapeaux pour des commandes particulières: par exemple, le réglage pager.blame
sur less -S
active la troncature de ligne uniquement pour git blame
.
core.pager 'less -+F -+X'
serait un moyen plus récent de supprimer ces options. Voir ma réponse ci-dessous .