Magit recientemente obtuvo soporte para algo como esto, pero la característica aún es un poco tosca y debe habilitarse explícitamente.
Ha existido una característica similar durante mucho tiempo: cuando se mueve de un commit a otro en un búfer de registro, y otra ventana en el mismo marco es el búfer de revisión del repositorio, entonces ese búfer se actualiza para mostrar ese commit en lugar de cualquier commit. estaba mostrando previamente.
Hasta hace muy poco, el búfer de revisión se creó cuando se movió por primera vez de una confirmación a otra. He cambiado ese comportamiento y ahora el búfer de revisión solo se actualiza . Si ninguna ventana en el mismo marco ya muestra ese búfer, entonces moverse alrededor del registro ya no hará que el búfer se muestre en una nueva ventana o en una ventana existente que previamente mostraba algún otro búfer.
Entonces ahora debe presionar SPCuna vez para mostrar el búfer de revisión. Solo entonces comenzará a actualizarse cuando se mueva por el búfer de registro.
Si no desea que se actualice el búfer de revisión, haga esto:
(remove-hook 'magit-section-movement-hook
'magit-log-maybe-update-revision-buffer)
Si, por otro lado, también desea que el búfer de revisión se actualice al moverse en el búfer de estado, entonces use esto:
(add-hook 'magit-section-movement-hook
'magit-status-maybe-update-revision-buffer)
Ahora es posible que un búfer de blob se actualice automáticamente de manera similar. Primero agregue esto:
(add-hook 'magit-section-movement-hook
'magit-log-maybe-update-blob-buffer)
Y tal vez también:
(add-hook 'magit-section-movement-hook
'magit-status-maybe-update-blob-buffer)
Luego, dentro de un búfer de registro (o estado), presione RETpara mostrar o actualizar el búfer de revisión, y también para cambiar a ese búfer. Vaya al archivo que le interesa y presione RETnuevamente. Ahora está en un búfer de "visita de blobs", que es similar a un búfer de visita de archivos, excepto que no visita el archivo en el árbol de trabajo sino el archivo como estaba en alguna confirmación.
Vuelva al búfer de registro (o estado) y pase a otra confirmación. El búfer de blob se está actualizando.
Tenga en cuenta que mostrar otro blob no reutiliza el búfer de blob existente. En su lugar, crea un nuevo búfer que visita ese blob y luego muestra ese búfer en la ventana que anteriormente mostraba el otro búfer de blob. Ese otro búfer no se está eliminando, lo que desafortunadamente significa que se pueden acumular bastantes búferes en un corto período de tiempo. Cuál sería uno de esos bordes ásperos, mencioné anteriormente. Al presionar qun búfer de blob lo elimina, por lo que puede limpiar yendo a la ventana que se utilizó para mostrar los diversos búferes de blob y seguir presionando qhasta que se hayan eliminado todos los búferes.
Además, es posible navegar al blob siguiente o anterior desde un buffer de blob usando py n. Supongo que, en la mayoría de los casos, comienza con un blob reciente y luego retrocede a blobs más antiguos usando p. Si haces eso y luego quieres moverte en la otra dirección, te recomiendo que uses qpara matar el búfer actual y así pasar al búfer anterior, es decir, al siguiente blob.
También tenga en cuenta que no es necesario que primero visite una revisión para poder visitar un blob. También podría usarlo M-x magit-find-file RET <revision> RET <file> RET
directamente, pero me parece menos conveniente.