macos - conf - tmux tutorial
¿Cómo copiar al portapapeles del sistema desde la salida de tmux después de la selección del mouse? (9)
En OSX utilizando 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"
Para la versión 2.4 de tmux, dado que amablemente decidieron cambiar la sintaxis del comando, debes usar:
bind-key -T copy-mode MouseDragEnd1Pane send -X copy-pipe-and-cancel "pbcopy"
Tenga en cuenta que también es posible que necesite usar reattach-to-user-namespace pbcopy
lugar de pbcopy
simple.
Ahora para copiar al portapapeles del sistema, tengo que seleccionar el texto del mouse en la ventana de tmux con la tecla Shift
. Y luego tengo que ejecutar este comando:
tmux save-buffer - | reattach-to-user-namespace pbcopy
¿Es más fácil guardar en el portapapeles del sistema? Key bind o mejor hacerlo automáticamente después del lanzamiento de Shift.
Mi configuración de tmux: https://gist.github.com/3641580
Hay una pregunta similar que se responde aquí: https://unix.stackexchange.com/questions/15715/getting-tmux-to-copy-a-buffer-to-the-clipboard
Solución encontrada allí:
# move x clipboard into tmux paste buffer
bind C-p run "tmux set-buffer /"$(xclip -o)/"; tmux paste-buffer"
# move tmux copy buffer into x clipboard
bind C-y run "tmux show-buffer | xclip -i"
Consulte también: http://awhan.wordpress.com/2012/04/18/tmux-copy-paste-with-mouse/
si ha establecido las siguientes opciones:
mouse-select-pane
mouse-select-window
Notará que no puede seleccionar ningún texto.
la solución es usar la tecla Mayús.
hold down the shift key and then left click and drag across the target text. you must also hold down the shift key and then middle click in order to paste the text.
Hice una versión con netcat hoy que es bastante simple.
https://github.com/base698/tmux-copy-paste-mac-osx
Aquí está el tmux.conf:
bind -t vi-copy ''v'' begin-selection
bind -t vi-copy ''y'' copy-pipe ''nc localhost 5682''
bind p run-shell ''nc localhost 5683; nc localhost 5683 | tmux load-buffer -'' /; paste-buffer
Funciona con el mouse también en 1.8
Para os x, si usa la aplicación "Terminal". Puede desactivar el desplazamiento del mouse y usar las funciones habituales de copiar / pegar (cmd + c / cmd + v):
set-option -g mouse-select-pane off
set-option -g mouse-resize-pane off
set-option -g mouse-select-window off
set-window-option -g mode-mouse off
o puede usar el desplazamiento del mouse y seleccionar texto con la "tecla fn":
set-window-option -g mode-mouse on
Poner esto en mi archivo ~ / .tmux.conf funciona para mí:
bind y run-shell "reattach-to-user-namespace -l zsh -c ''tmux show-buffer | pbcopy''"
Todas las demás soluciones potenciales que encontré fueron copiar algún tipo de contenido vacío en el portapapeles de OSX.
El único problema es que esto parece poner un retorno de carro al final del contenido pegado.
Si está utilizando iTerm2, puede copiar texto en la sesión de Tmux, manteniendo presionada la tecla Opción mientras arrastra el mouse para hacer la selección.
Entonces debería ser posible pegar texto en cualquier lugar con Cmd + V como de costumbre. Lo encontré aquí: http://web.archive.org/web/20131226003700/http://ootput.wordpress.com/2013/08/02/copy-and-paste-in-tmux-with-mouse/
Si usa iTerm2 3.x, puede hacer que copiar / pegar funcione habilitando Applications in terminal may access clipboard
:
¡Simplemente resalte el texto con su mouse para copiarlo en el portapapeles de OS X! No es necesario presionar Opción como se sugiere en la respuesta del aceptante.
También puede pegar desde el portapapeles de OS X en tmux con el Cmd + V habitual.
presione el botón izquierdo del mouse y manténgalo presionado, seleccione el texto en el panel y mantenga presionado el botón. luego presione "y", que guarda la selección dentro del portapapeles y escapa del modo de selección / copia.
funciona aquí con iTerm 3.1.beta.5, tmux 2.5 y la siguiente configuración:
### copy & paste -------------------------------------------------------
# Use vim keybindings in copy mode
setw -g mode-keys vi
# Setup ''v'' to begin selection as in Vim
bind-key -T copy-mode-vi v send -X begin-selection
bind-key -T copy-mode-vi y send -X copy-pipe-and-cancel "reattach-to-user-namespace pbcopy"
# Update default binding of `Enter` to also use copy-pipe
unbind -T copy-mode-vi Enter
bind-key -T copy-mode-vi Enter send -X copy-pipe-and-cancel "reattach-to-user-namespace pbcopy"
presione la tecla shift y luego haga clic en el mouse !! Mira este enlace http://awhan.wordpress.com/2012/04/18/tmux-copy-paste-with-mouse/