2012-09-10 26 views
27

Estoy usando less como mi localizador git.Utilice siempre el localizador para git diff

Si la salida de git diff se puede leer en una página, mi git imprime la salida en la pantalla. A veces soy demasiado rápido escribiendo Ctrl+D (media página abajo), lo que mata mi terminal. ¿Hay una opción para habilitar el localizador para git diff, incluso si la salida es muy pequeña?

no funciona:

  • git -p diff
  • git --paginate diff
  • git ajustes: pager.diff = true

Respuesta

38

Esto es controlado por la opción -F (--quit-if-one-screen) a menos.

Git utiliza las opciones FRSX por menos de manera predeterminada, si no se especifica ninguna por las variables de entorno $LESS o $GIT_PAGER. Para cambiarlo, especifique la opción core.pager y la puso a RSX:

git config --global core.pager 'less -+F' 

más antiguas versiones de Git usan para recomendar lo siguiente en su documentación:

git config --global core.pager 'less -+$LESS -RSX' 
+0

git no utiliza FRSX por defecto . Sospecho que está obteniendo esos valores predeterminados de la variable de entorno 'LESS', o de' GIT_PAGER', que sugiere otra solución (más simple). A saber, asegúrese de que 'F' no aparezca en' LESS' o en 'GIT_PAGER'. Si git usa los valores predeterminados cuando PAGER y GIT_PAGER están desarmados, eso me sorprendería, pero tal vez estoy equivocado al respecto. ¿Documentación? –

+1

@WilliamPursell: La documentación de Git se ha actualizado recientemente para deshabilitar las opciones de una manera más retrocompatible. Mi código fue copiado directamente de la página man (anterior) - Lo he actualizado ahora. La documentación también escribe "Git establece la variable LESS en FSRX si no está configurada" – knittl

+0

@knittl ¿Puedes dar una referencia al documento? gracias – Leonmax