En este momento, en lugar de presionar solo ccen modo magit, tengo que presionar c-vccada vez para habilitar --verbose.
¿Es posible habilitarlo por defecto?
Para empezar v2.1.0, Magit usa la biblioteca magit-popup.elpara implementar tales "buffers emergentes" o "combos de prefijo-infijo-sufijo". A pesar de su nombre, esa biblioteca puede ser utilizada por paquetes no relacionados con Magit y, por lo tanto, está disponible como un paquete de Elpa separado. ¡Incluso tiene su propio manual ahora!
Los argumentos predeterminados ahora se pueden establecer directamente desde un búfer emergente. Para usar siempre --verbosecuando se compromete, haga esto:
--verbosemagit-commit-arguments)Por defecto, todos los buffers emergentes terminan con una sección llamada "Comandos comunes". Si no, úselo C-tpara mostrarlo. Probablemente no desee ver esa sección todo el tiempo y, por lo tanto, debe establecerla magit-popup-show-common-commandsen nil.
Por supuesto, también es posible establecer el valor de magit-commit-argumentsy otras variables usando la interfaz personalizada setq, o add-to-list. Pero recomiendo contra eso, porque eso haría imposible cambiar los valores predeterminados sobre la marcha.
Por lo que puedo decir, Magit no realiza un seguimiento de las opciones "predeterminadas", pero podemos hacer que "presione -v" cada vez que aparece el búfer de confirmación:
(advice-add #'magit-key-mode-popup-committing :after
(lambda ()
(magit-key-mode-toggle-option (quote committing) "--verbose")))
Para encontrar qué función aconsejar, abrí un magic-statusbúfer y presioné C-h k c. Esto me llevó a magit-key-mode-popup-committing. Luego (con el tampón Cometer fija visualizada) presioné C-h k -vpara encontrar las lambdallamadas Magit se forman cuando se pulsa -ven la ventana de comprometerse.
Actualización: Escribí esta respuesta de forma independiente, pero vea ¿Puedo tener seleccionada inicialmente la opción git-log "--todos"? , la respuesta dada allí y los comentarios a esa respuesta.
En las versiones de magit que usan transitorios (después de febrero de 2019 más o menos), establezca la bandera y luego guarde mientras todavía está en el búfer transitorio.
Entonces, para commit, la secuencia de teclas sería algo así como
Después de eso, la próxima vez que se invoque commit, todavía se establecerá detallado. (No tiene que completar la confirmación y puede salir después de guardar con
C-x C-s).El valor predeterminado real se guarda en un
transient/directorio en.emacs.d/.Consulte el manual transitorio https://magit.vc/manual/transient.html#Saving-Values
fuente
Si bien no es exactamente lo que desea (diff en su búfer de confirmación), puede configurar magit para expandir las diferencias escalonadas en la ventana de estado :
El flujo de trabajo magit parece ser siempre un búfer de estado abierto y luego se abre dividido con el búfer de confirmación, siempre terminas con dos búferes mostrados. La configuración anterior hará que el segundo búfer (anteriormente no útil) muestre su diff.
También puede usar
tpara expandir solo los encabezados diff (para que muestre los números de línea):Mientras escribe su diff, puede cambiar al búfer de estado y usar
TABpara expandir (o doblar) los diffs.Alternativamente, puede usar
C-c C-ddesde el búfer de confirmación para abrir otro búfer con un diff conmagit-diff-staged. (Ver este número ).fuente
A partir de la
magitversión2.1, puede usar esto en su configuración:fuente
--no-verifyes útil cuando tiene proyectos que usan ganchos git (use con precaución, obviamente).