Los cambios recientes en la documentación mencionan una forma diferente de eliminar una opción predeterminada para less
(ser "opciones predeterminadas" FRSX
).
Para esta pregunta, esto sería (git 1.8+)
git config --global --replace-all core.pager 'less -+F -+X'
Por ejemplo, Dirk Bester sugiere en los comentarios :
export LESS="$LESS -FRXK"
para que tenga color diff con Ctrl-C quit from less
.
Wilson F menciona en los comentarios y en su pregunta que:
menos admite el desplazamiento horizontal, por lo que cuando las líneas se cortan, menos deshabilita la pantalla para dejar de fumar si el usuario todavía puede desplazar el texto hacia la izquierda para ver qué se cortó.
Esas modificaciones ya eran visibles en git 1.8.x, como se ilustra en " Usar siempre el localizador paragit diff
" (ver los comentarios). Pero la documentación se volvió a redactar ( para git 1.8.5 o 1.9, Q4 2013 ).
Visor de texto para uso de los comandos de Git (por ejemplo, 'menos').
El valor debe ser interpretado por el shell.
El orden de preferencia es:
- la
$GIT_PAGER
variable de entorno,
- entonces
core.pager
configuración,
- entonces
$PAGER
,
- y luego el valor predeterminado elegido en tiempo de compilación (generalmente 'menos').
Cuando la LESS
variable de entorno no está establecida, Git la establece en FRSX
(siLESS
la variable de entorno está configurada, Git no la cambia en absoluto).
Si desea anular selectivamente la configuración predeterminada de Git para LESS
, se puede establecer core.pager
que, por ejemploless -+S
.
Git lo pasará al shell, que traducirá el comando final a LESS=FRSX less -+S
. El entorno le dice al comando que establezcaS
opción de cortar líneas largas, pero la línea de comando lo restablece al valor predeterminado para doblar líneas largas.
Ver commit 97d01f2a para conocer el motivo detrás de la nueva redacción de documentación:
config: reescribir core.pager
documentación
El texto menciona core.pager
y GIT_PAGER
sin dar la imagen general de precedencia. Pida prestada una mejor descripción de la git var
(1) documentación.
El uso del mecanismo para permitir archivos de configuración globales, globales y por repositorio no se limita a esta variable en particular. Eliminarlo para aclarar el párrafo.
Vuelva a escribir la parte que explica cómo la variable de entorno LESS
se establece en el valor predeterminado de Git y cómo personalizarla selectivamente.
Nota: commit b327583 ( Matthieu Moymoy
, abril de 2014, para git 2.0.x / 2.1, Q3 2014) eliminará la S por defecto:
buscapersonas: elimina 'S' de $ LESS de forma predeterminada
Por defecto, Git solía establecerse $LESS
en -FRSX
si $LESS
no fue configurado por el usuario.
Las FRX
banderas realmente tienen sentido para Git ( F
y X
porque a veces la salida de Git canaliza a menos es corta, y R
porque Git canaliza la salida de color).
La S
bandera (cortar líneas largas), por otro lado, no está relacionada con Git y es una cuestión de preferencia del usuario. Git no debería decidir que el usuario cambie LESS
el valor predeterminado .
Más específicamente, la S
bandera perjudica a los usuarios que revisan el código no confiable dentro de un localizador, ya que un parche se ve así:
-old code;
+new good code; [... lots of tabs ...] malicious code;
parecería idéntico a:
-old code;
+new good code;
Los usuarios que prefieren el comportamiento anterior aún pueden configurar la variable de entorno $ LESS -FRSX
explícitamente o configurar core.pager en ' less -S
'.
La documentación leerá:
El entorno no establece la S
opción, pero la línea de comando sí, indicando menos para truncar líneas largas.
Del mismo modo, establecer core.pager
a less -+F
desactivará la F
opción especificada por el entorno desde la línea de comandos, desactivando el " quit if one screen
" comportamiento de less
.
Uno puede activar específicamente algunos indicadores para comandos particulares: por ejemplo, configurar pager.blame
para less -S
habilitar el truncamiento de línea solo para git blame
.
core.pager 'less -+F -+X'
sería una forma más reciente de eliminar esas opciones. Vea mi respuesta a continuación .