Estoy ejecutando la última versión de tmux (desde el repositorio de git) y xclip (0.12), y me gustaría poder usar los enlaces de teclado tipo Emacs para mover el texto copy-mode
, copiar ( M-w
) selecciones en el portapapeles, y pegar ( C-y
) desde / al búfer de copia en el portapapeles.
Hasta ahora he sido capaz de pegar texto C-y
y moverme copy-mode
con enlaces de teclado tipo Emacs, pero aún no puedo copiar texto de un búfer tmux (por ejemplo, en copy-mode
)
Encontré este hilo para copiar todo el búfer en el portapapeles (y viceversa), pero no parece estar funcionando para mí.
Además, en la tmux-users
lista de correo me dijeron que las versiones recientes de tmux (solo en el repositorio de git) proporcionan un comando llamado copy-pipe
. La página del manual dice lo siguiente sobre este comando:
Un comando en acepta un argumento, copy-pipe, que copia la selección y la canaliza a un comando. Por ejemplo, lo siguiente enlazará 'C-q' para copiar la selección en / tmp y también en el búfer de pegado:
bind-key -temacs-copy C-q copy-pipe "cat >/tmp/out"
Parece copy-pipe
que debe usarse en parte para canalizar la selección a otro comando. También parece haber algunos errores tipográficos en esta descripción y en el comando (¿qué es temacs-copy
?)
De cualquier manera, lo que me gustaría hacer es:
Proceso de copiar:
- Ingrese al modo de copia
- Mover el texto que desea copiar utilizando los comandos de navegación de Emacs (es decir
C-f
,C-b
,M-f
,M-b
,C-a
,C-e
etc, para mover el cursor). No hay prefijo para ninguno de estos. - Copie el texto seleccionado en el portapapeles con:
M-w
( sin prefijo tampoco)
Pegado:
- Me gustaría poder escribir
C-y
( sin tener que ingresarcopy-mode
) para pegar texto en el terminal ( sin prefijo tampoco)
He intentado lo siguiente para copiar sin suerte:
bind-key -n M-w run "tmux save-buffer - | xclip -i -selection clipboard"
Sin embargo, pegar funciona muy bien:
bind-key -n C-y run "xclip -o | tmux load-buffer - ; tmux paste-buffer"
Lo extraño es que sé que la " xclip -i -selection clipboard
" parte del comando de copia anterior funciona bien, ya que puedo copiar cosas al portapapeles en la línea de comandos, por ejemplo:
echo "Hello world. How are you?" | xclip -i -selection clipboard
Con todo esto, ¿cómo puedo copiar una selección del modo de copia al portapapeles?