Respuestas:
Para buscar en el tmuxbúfer de historial la ventana actual, presione Ctrl- b [para ingresar copy mode.
Si está utilizando las combinaciones de teclas de emacs (el valor predeterminado), presione Ctrl- sluego escriba la cadena para buscar y presione Enter. Presione npara buscar la misma cadena nuevamente. Presione Shift- npara la búsqueda inversa. Presione Escapedos veces para salir copy mode. Puede usar Ctrl- rpara buscar en la dirección inversa. Tenga en cuenta que ya tmuxtiene el control del teclado en copy mode, Ctrl- sfunciona independientemente de la stty ixonconfiguración (que me gustaría tener como stty -ixonpara permitir búsquedas hacia adelante en Bash).
Si está utilizando las combinaciones de teclas vi ( Ctrl- b:set-window-option -g mode-keys vi), presione, /luego escriba la cadena para buscar y presione Enter. Presione npara buscar la misma cadena nuevamente. Presione Shift- npara la búsqueda inversa como en el modo emacs. Presione qdos veces para salir copy mode. Puede usar ?para buscar en la dirección inversa.
Si desea cambiar a una ventana basada en algo que se muestra en ella (esto también incluye los nombres y títulos de las ventanas pero no el historial), (comenzando con más de una ventana abierta) presione Ctrl- b fluego escriba la cadena para buscar y presione Enter. Se lo cambiará a una ventana que contiene ese texto si se encuentra. Si coincide más de una ventana, verá una lista para seleccionar.
EDITORo VISUAL) al estilo que desee antes de comenzar tmux.
set-window-option -g mode-keys vien mi .tmux.conf. Pero tenía curiosidad sobre la alternativa variable de entorno y no pude hacer que funcionara. ¿Es una variable de entorno de shell, o una variable de entorno tmux que debe establecerse en el archivo conf?
VISUAL=vi tmux
Ingrese al modo de copia y comience a buscar de una vez
bind-key / copy-mode \; send-key ?
le permite hacer solo:
Ctrl + B /
y comienza a escribir el término de búsqueda.
Volcar a un archivo y usar vim
Cuando las cosas se involucran más, solo quiero usar un editor apropiado: https://unix.stackexchange.com/questions/26548/write-all-tmux-scrollback-to-a-file
bind-key P 'capture-pane' \; capture-pane -S - \; save-buffer /tmp/tmux \; delete-buffer
Ahora Pvolca el búfer en un archivo, y luego simplemente:
vim /tmp/tmux
Probado en tmux 2.6.
/tmp/tmux)?
Puede usar vim para ver / editar / buscar / guardar el registro de pantalla, doble el registro en cada solicitud de bash:
tmux capture-pane -pS -1000000 |
vim +":setl fen fdm=expr fde=getline(v:lnum)=~'^\\\\S\\+\\\\$\\\\s'?'>1':1" -
Ajuste la expresión regular según su solicitud, use cuatro barras invertidas para cada barra invertida en expresiones regulares.
O ponga la función vim en ~ / .vimrc:
command! MoshFoldTmuxLog :setl fen fdm=expr
\ fde=getline(v:lnum)=~'^\\S\\+\\$\\s'?'>1':1
Y en ~ / .bashrc agregue la fecha a la solicitud, si tiene muchos registros para buscar. p.ej
PS1='\u@\h:\w:\D{%F-%T}$?:\$ ' # user-host-pwd-date-time-errno
alias tmux-log='tmux capture-pane -pS -1000000 | vi +MoshFoldTmuxLog -'
Aquí hay una solución que encontré.
También puede modificar la ruta de destino y el nombre de archivo:
# Save screen content to file
bind p command-prompt -p 'Save history to:' -I '~/tmux.history' 'capture-pane -S -32768 ; save-buffer %1 ; delete-buffer'
Después de volver a cargar el archivo de configuración tmux, puede presionar prefix pen mi caso Ctrl+a p
. Puede cambiar bind pa su combinación de teclas preferida.
Primero, el mío no funcionaba porque estaba sobrescribiendo bind pen otra línea, así que solo comenté eso.
tmux(tmux -V)? Creo que esto se agregó en la versión 0.9.