Estoy bastante contento con los cambios de terminal en El Capitán (ver, por ejemplo , esta pregunta ).
Sin embargo, no puedo entender cómo habilitar la copia al portapapeles del sistema desde Tmux. Por ejemplo, ahora que puedo seleccionar texto dentro de Tmux correctamente con el mouse, ¿cómo puedo copiar el texto seleccionado al portapapeles también, además del propio búfer de Tmux?
Tengo lo siguiente en mi tmux.conf
:
setw -g mode-mouse on
set -g mouse-select-pane on
set -g mouse-resize-pane on
set -g mouse-select-window on
setw -g mode-keys vi
bind-key -t vi-copy 'v' begin-selection
bind-key -t vi-copy 'y' copy-selection
Intenté modificar la última línea para
bind-key -t vi-copy 'y' copy-selection \; copy-pipe "pbcopy"
pero en realidad no funcionó. Estaría agradecido por las sugerencias!
¡Gracias!
En realidad, acabo de encontrar una solución muy simple sobre cómo habilitar la copia usando Cmd+C nuevamente.
En la aplicación Terminal predeterminada, vaya a Ver-> "Permitir informes de mouse" y desmárquelo. Eso es.
PD: Obviamente, las nuevas características agradables, como arrastrar la pantalla dividida en tmux, dejan de funcionar después de desmarcar los informes del mouse.
bind-key ... copy-pipe
solución solo podría funcionar si se trata de una sesión tmux local. Por otra parte, tal vez si realiza la sesión de tmux remota dentro de una sesión de tmux local, ¿podría funcionar? De todos modos, me funcionó desmarcar "Permitir informes de mouse", e incluso hay un atajo ⌘-R (Cmd-R) para que pueda desactivarlo rápidamente para hacer una copia y luego volver a encenderlo.Si mantiene presionada la tecla de función, también puede seleccionar y copiar al portapapeles con apple+c.
En realidad, me equivoqué al decir que eso copy-pipe
no funciona. Lo hace, y copy-selection
luego es superfluo, ya copy-pipe
que copia el texto en el tablero de Tmux y lo canaliza a un comando de shell arbitrario. Así que la siguiente línea funciona:
bind-key -t vi-copy 'y' copy-pipe "pbcopy"
Sin embargo, es necesario presionar y
antes de soltar el botón del mouse. Me encontré con esto en la documentación del complemento tmux-yank :
"Al hacer una selección usando el modo tmux-mouse on o mode-mouse copy-mode, no puede confiar en el comportamiento predeterminado 'soltar el mouse después de la selección para copiar'. En su lugar, presione y antes de soltar el mouse".
Así que funciona, pero con una necesidad algo molesta de presionar y
para copiar el texto seleccionado con el mouse.
brew install reattach-to-user-namespace --with-wrap-pbcopy-and-pbpaste
(estoy usando Homebrew)Usando tmux versión 2.2 o posterior, agregue lo siguiente a su archivo tmux.conf:
bind-key -t emacs-copy MouseDragEnd1Pane copy-pipe "pbcopy"
bind-key -t vi-copy MouseDragEnd1Pane copy-pipe "pbcopy"
La respuesta de @Oplatek surtirá efecto
En la aplicación Terminal predeterminada, vaya a Ver-> "Permitir informes de mouse" y desmárquelo.
Pero de esta forma, no podríamos desplazarnos por la pantalla con el ratón.
Aquí hay otra forma sin deshabilitar Allow mouse reporting
:
Presione Fn
y seleccione el texto con el mouse. Mantiene la selección allí para que pueda hacer clic derecho y seleccionar copiar.
Usando tmux 2.2, OS X El Capitan, Terminal Version 2.6.1 (el predeterminado que se envía con El Capitan), la siguiente configuración funciona sin problemas (hasta ahora).
$ cat ~/.tmux.conf
set -g mouse on
bind-key -t emacs-copy MouseDragEnd1Pane copy-pipe "pbcopy"
bind-key -t vi-copy MouseDragEnd1Pane copy-pipe "pbcopy"
Para copiar, presione el botón izquierdo del mouse, marque el texto y suéltelo. El texto marcado está entonces en el portapapeles y se puede pegar con Cmd+ vcomo de costumbre.
brew install reattach-to-user-namespace
Luego agregue a .tmux.conf
:
set-option -g default-command "reattach-to-user-namespace -l zsh"
solo encuentro una manera
abra la configuración/perfiles de la terminal en la información de la terminal, cambie el tipo de terminal de xterm-256 a ansi, abra una nueva ventana de terminal y disfrute :)
sin ladera
sifiuel
sifiuel