Me preguntaba si es posible cambiar el tamaño de la pestaña en git-gui de 8 caracteres a 4. Lo único que encontré fue core.whitespace = tabsize=4
pero eso solo afecta a diff.
La razón por la que pregunto es porque estoy eliminando gradualmente el uso de pestañas y en su lugar uso una sangría de 4 espacios. Sin embargo, esto puede dar resultados confusos al ver la diferencia en git-gui, ya que tabsize tiene alrededor de 8 caracteres.
Sé que un simple :retab
en Vim resuelve mi problema, pero con bastante frecuencia tengo que trabajar en archivos grandes con un historial a largo plazo que pueden tener modificaciones en ramas separadas. Por lo tanto, no siempre puedo convertir todas las pestañas.
Investigué un poco.
La configuración
core.whitespace
no tiene nada que ver con cómo se muestran las pestañas. Solo se usa para que git reconozca los errores de espacio en blanco relacionados con las pestañas. Por ejemplo: cuandoindent-with-non-tab
está habilitado, ycore.whitespace
se establece entabwidth=4
, y una línea está sangrada usando 4 espacios o más, entonces git informará un error.Para git, aparte de las funciones de detección de errores de espacio en blanco relacionadas con la pestaña, un carácter de pestaña es un personaje como cualquier otro personaje. Se compara y se descarga a cualquier herramienta que se use para mostrar los caracteres. Eso significa que, para configurar el ancho de la pestaña que se muestra, debe configurar los "extremos frontales" de git. En ese caso
git diff
, sería "menos" (la herramienta de Unix "menos"). En ese casogit gui
, sería git-gui.Configurar menos es fácil. Puede establecer la configuración de git
core.pager
para configurar menos para mostrar una pestaña con 4 espacios (menos tiene un parámetro-xn
para establecer el ancho de pestañan
).Configurar git-gui resultó ser considerablemente más difícil. Git-gui está escrito en Tcl / Tk. Encontré una opción Tcl / Tk para configurar el ancho de la pestaña en widgets de texto. También encontré una línea en la
git-gui.sh
que parece que el widget de texto se está inicializando.Esta es la línea 3346 del archivo
git-gui.sh
en git versión 1.7.5:Cambié eso, de acuerdo con el manual Tcl / Tk, a:
Eso no pareció tener ningún efecto. Intenté diferentes valores para
-tabs
y tuvieron algún efecto en el ancho de la pestaña mostrada, por lo que parece ser la línea correcta para modificar.Desafortunadamente, Tcl / Tk no parece tener una noción de ancho de tabulación en términos de caracteres, sino que el ancho de tabulación debe establecerse en píxeles o centímetros.
Tenga en cuenta que no tengo experiencia en Tcl / TK en absoluto, por lo que tal vez solo estoy pasando por alto algo simple aquí.
De todos modos, ahora sabes por dónde empezar a cavar. Recuerde informar aquí si tiene una solución que funcione. Buena suerte.
fuente
Elaboré una investigación realizada por lesmana .
La línea
mencionado por lesmana debe reemplazarse con lo siguiente:
Después de hacer esto, se puede ajustar el tamaño de la pestaña usando la opción "tabsize" en la sección [gui] del archivo de configuración de git (también conocido como gui.tabsize). Malas noticias:
Probado con:
fuente