Para copiar texto al portapapeles X en tmux, lo que hago actualmente es:
- ir al modo de selección con prefix[
- comenzar la selección con space(usando
mode-keys vi
BTW) - selecciona el texto y presiona enter
- copiar el búfer tmux al portapapeles X usando prefixctrl+c
(Tengo un mapeo como bind C-c run "tmux show-buffer | xclip -selection clipboard -i"
Estoy tratando de eliminar algunos de estos pasos haciendo un mapeo para el modo de selección. Yo he tratado:
bind-key -t vi-copy C-c run "tmux show-buffer | xclip -selection clipboard -i"
lo que me da y error:
.. usage: bind-key [-cnr] [-t key-table] key command [arguments]
(No pude copiar el error)
¿Cómo puedo arreglar esto?
EDITAR: Me di cuenta de que puedo seleccionar y copiar en el búfer tmux (primeros 3 pasos) usando el mouse como una selección normal (aunque el resaltado no dura, todavía selecciona el texto) y luego usar el siguiente enlace para copiar al portapapeles x :
bind-key -n C-c run "tmux show-buffer | xclip -selection clipboard -i"
(Utilicé este método para copiar este texto y fue fácil;)
tenga en cuenta que -n
denota "sin prefijo", por lo tanto, no se necesita escapar. Si no se confunde con el resaltado que desaparece, esto es análogo a la copia regular (interfaz de usuario común).
esto es lo mejor que se me ocurrió hasta ahora ...
Edit2: resultó ctrl+csolapamientos con lo proceso de interrupción así que cambié a ctrl+alt+cpor ahora. (no me gustó)
EDIT3: tmux 1.8 más o menos agregó soporte para agregar combinaciones de teclas en modo copia, por lo que ahora mi primera intención original es posible usando algo como:
bind-key -tvi-copy y copy-pipe "xclip -selection clipboard -i"
bind-key -tvi-copy enter copy-pipe "xclip -selection clipboard -i"
Estos dos enlaces permiten copiar texto al portapapeles cuando lo usé entero yterminar de copiar.
Todavía mantengo esta línea en caso de que copie con el mouse y decida obtener el contenido del búfer tmux en el portapapeles más adelante:
bind-key y run "tmux show-buffer | xclip -selection clipboard -i"
^c
siendo la tecla de interrupción ya que la uso con más frecuencia que la copia. También he actualizado la respuesta para reflejar mi solución actual a este problema.
bind-key -t vi-copy C-c run "tmux show-buffer | xclip -selection clipboard -i"
vivo da:Unknown command: run
bind-key C-c run "tmux show-buffer | xclip -selection clipboard -i"
funciona bien.
stty intr=^Z
. Tenga cuidado con ese comando, es posible establecer un carácter regular para que sea el carácter de interrupción (si lo hace, use ctrl-v para ingresarlo hasta corregir la configuración). Y no se confunda con la clave que se utiliza (por ejemplo, ctrl-z es normalmente la clave de suspensión).