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_PAGERvariable d'environnement,
- puis
core.pagerconfiguration,
- alors
$PAGER,
- puis la valeur par défaut choisie au moment de la compilation (généralement «moins»).
Lorsque la LESSvariable d'environnement n'est pas définie, Git la définit sur FRSX
(si LESSla 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.pagerpar 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' Soption 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.pagerdocumentation
Le texte mentionne core.pageret GIT_PAGERsans 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 LESSest 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à -FRSXsi $LESSn'a pas été défini par l'utilisateur.
Les FRXindicateurs ont en fait un sens pour Git ( Fet Xparce que parfois les tuyaux Git de sortie à moins sont courts, et Rparce que les tuyaux Git ont une sortie colorée).
Le Sdrapeau (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 LESSla valeur par défaut .
Plus précisément, l' Sindicateur 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 -FRSXexplicitement la variable d'environnement $ LESS ou définir core.pager sur ' less -S'.
La documentation se lira:
L'environnement ne définit pas l' Soption mais la ligne de commande le fait, demandant à moins de tronquer les longues lignes.
De même, la définition core.pagerde less -+Fdésactivera l' Foption spécifiée par l'environnement à partir de la ligne de commande, désactivant le quit if one screencomportement " " de less.
On peut spécifiquement activer certains drapeaux pour des commandes particulières: par exemple, le réglage pager.blamesur less -Sactive 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 .