con tmux, puede dividir el panel zsh -c while :; do sleep 60; git log ...; done
y esto debería lograr una salida de registro git automágicamente refrescante en un panel.
suministre [-vh] [porcentaje] a panel dividido para dividir vert u horiz con un porcentaje dado del terminal. iirc, se divide desde el lado inferior y/o derecho del terminal, por lo tanto, ajuste el porcentaje en consecuencia.
esto debería tener el efecto deseado de tener git log en un panel al lado de $ EDITOR (o abajo), con las dimensiones adecuadas y actualizar automágicamente cada minuto. siéntase libre de alterar o limpiar la sintaxis para satisfacer sus necesidades.
EDITAR: reaparecer un panel en tmux se puede hacer con el tmux builtin respawn-pane
. puede enlazar una clave algo como esto para conseguir un simple atajo
-n M-r-panel de reaparición git -t clave bind-: 0,1 [comando]
en este ejemplo, asumo 3 cosas. primero, que tiene una sesión de tmux con nombre (llamada git, pero esto es arbitrario ya su elección usando rename-session
en tmux o iniciando la sesión con new-session -s name
). segundo, que el registro de git (que es lo que queremos actualizar) está en la ventana del índice 0 (esta es la primera ventana abierta en una sesión, por defecto, a menos que establezca base-index
en otro) y el panel del índice 1.
así que aquí, vuelve a aparecer el segundo panel de la primera ventana en la sesión "git" presionando alt-r. si usa el ciclo que proporcioné antes, esto no es necesario porque el registro se actualizará después de cada suspensión. eso puede considerarse un desperdicio para algunos, por lo que puedes decidir reaparecer arbitrariamente este panel a tu antojo.
[comando] es opcional. tmux respawn-pane
ejecutará el comando que se dio cuando el panel se generó al principio. en este ejemplo, será el bucle while
por defecto. si omite el ciclo y en su lugar solo usa split-pane [-hv] [percent] "git log ..."
, entonces no proporcione el parámetro de comando opcional ya que el panel lo ejecutará inteligentemente. proporcionar el parámetro de comando a respawn-pane
tendrá prioridad sobre el comando inicial utilizado al generar el panel.
por último, si no se proporciona el parámetro de comando para split-pane
inicialmente, tmux se ejecutará cualquier valor es default-command
.
por lo que hay una explicación demasiado detallada de cómo hacer lo que este video hace de múltiples maneras.
Desde el video se ve como que está haciendo la división de la ventana en la pantalla de GNU. Si mira alrededor de 6:28, también tiene que actualizar manualmente la pantalla de alguna manera. Usted podría lograr eso simplemente haciendo una división de pantalla estándar y presionando q/arriba para volver a ejecutar el comando; también podría ejecutarlo en un bucle para hacer eso automáticamente cada 10 segundos o lo que sea. – Dougal
Sí, parece que está actualizando manualmente. En este punto, puedo ir con la actualización manual, no hay problema. ¿Estás seguro de dividir la pantalla GNU? Creo que está haciendo otra cosa. Si miras la barra de desplazamiento a la derecha, se cubre de arriba a abajo. Y él está refrescando, no escribiendo un comando de shell. No sé, quizás tengas razón, pero creo que está haciendo algo diferente. –
Si miras la barra de título de la terminal, dice la pantalla, y esas líneas de estado me parecen una pantalla. Y la barra de desplazamiento está en Terminal.app/iTerm.app, no en la pantalla, por lo que tiene sentido que cubra todo. No estoy seguro de cómo se está refrescando (tiene razón al decir que no está volviendo a ejecutar un comando de shell), pero volver a ejecutar debería tener el mismo efecto ... tal vez tiene un proceso en segundo plano para escribir en un archivo y está haciendo algún editor encantamiento para volver a cargar el archivo (o simplemente volver a ejecutar el comando dentro del editor), no estoy seguro. – Dougal