tmux se congela al usar ctrl-prefijo ctrl-y

tmux se congela al usar ctrl-prefijo ctrl-y

Estoy usando un archivo .tmux.conf personalizado que se ve así:

unbind-key C-b
set -g prefix C-a
bind-key C-a send-prefix

set-window-option -g mode-keys vi
bind-key -t vi-copy 'v' begin-selection
bind-key -t vi-copy 'y' copy-selection

## CLIPBOARD selection integration
# Requires prefix key before the command key
# Copy tmux paste buffer to CLIPBOARD
bind C-y run "tmux show-buffer | xclip -i -selection clipboard"
# Copy CLIPBOARD to tmux paste buffer and paste tmux paste buffer
bind C-p run "tmux set-buffer -- \"$(xclip -o -selection clipboard)\"; tmux paste-buffer"

Estoy usando ctrl++ para copiar desde a ctrlel ybúfer de copia tmux al portapapeles. Pero cada vez que hago esto, tmux se congela y no acepta ninguna entrada. Intenté usar ctrl+ qpero esto no ayuda.

¿Qué puedo hacer para evitar que tmux se congele y qué atajos interfieren aquí? También probé el atajo ctrl+ a ctrl+ c, el mismo problema aquí.

Respuesta1

Si escribe el xclipcomando en la línea de comando, notará que no finaliza. Esto se debe a que continúa aceptando entradas hastaESTDINestá hecho. De este modo,SALIDA ESTÁNDARnunca se cierra. Puedes resolver esto redirigiendo elSALIDA ESTÁNDARde xclipa /dev/null. Por ejemplo:

bind y run "tmux save-buffer - | xclip -selection clipboard &>/dev/null"

En este ejemplo redirijoESTDERRtambién por si acaso es importante.

Respuesta2

xclipestá esperando entrada, lo que impide que tmux reciba entrada. El siguiente ejemplo permite que xclip se ejecute en otro shell sin bloquear su sesión tmux:

bind y run-shell -b "tmux save-buffer - | xclip -selection clipboard"

Incluso agregaría un mensaje para ayudar en su flujo de trabajo:

bind y run-shell -b "tmux save-buffer - | xclip -selection clipboard; tmux display-message \"Tmux buffer saved to clipboard\" "

¡Espero que esto ayude!

Respuesta3

bind y run-shell -b "cat << EOF | tmux save-buffer - | xclip -sel clipboard &>/dev/null"

puedes hacerlo de esta manera, el EOF cierra el búfer después de copiarlo al portapapeles con xclip.

información relacionada