copiar y pegar no funciona en MacVim cuando se inicia en tmux
19
Copiar y pegar de MacVim deja de funcionar cuando lo ejecuto desde un terminal tmux (en zsh). Si salgo de tmux y luego ejecuto MacVim copy-past works. ¿Algúna idea de cómo arreglar esto?
Como helgeg lo mencionó, mencionaré mis notas sobre mi intento de usar el parche mencionado anteriormente.
Resumen: el parche no me pareció confiable. Permitió el acceso al tablero, pero activó muchos mensajes de advertencia de mi instalación de libevent versión 2 (tal vez la versión 1 se ve menos afectada). También evita que el servidor tmux realice su bifurcación normal (2) (a través del demonio (3) ), que es un cambio significativo en la forma en que el proceso del servidor fue diseñado para funcionar.
Terminé publicando un programa que soluciona el problema sin parchear tmux . Es posible que las personas que han tenido problemas para usar el cartón bajo tmux (y aquellas para las cuales el parche anterior no funciona satisfactoriamente) quieran probar mi solución alternativa.
Muchas gracias por su investigación sobre este problema realmente molesto y una solución brillante, funciona de
maravilla
Muchas gracias por esto. Ahora puedo copiar texto de iTerm y pegarlo en Mac vim que comenzó en tmux. Sin embargo, si ^b + [inicio el modo de exploración y uso Space+ Enterpara seleccionar y copiar texto, no podré pegarlo en mac vim. ¿Por favor aconséjame?
Phuong Nguyen
1
@PhuongNguyen: salir copy-modeasí simplemente se copia en un búfer tmux , no en el tablero de Mac. Podría usar un comando Vim:r!tmux save-buffer - para leer el búfer. O puede hacer arreglos para copiar los datos en el tablero de Mac: tmux save-buffer - | reattach-to-user-namespace pbcopy(tal vez como un enlace de tmux a través de run-shell) o (en tmux 1.8+) salga copy-modecon un enlace como bind -t vi-copy y copy-pipe 'reattach-to-user-namespace pbcopy'(es decir, use esto en ylugar de Enteruna vez que tenga su selección).
Chris Johnsen
Gracias hombre. Estoy usando el enlace hasta yahora: D
Respuestas:
Puede probar el parche mencionado en un hilo relacionado ( "OSX 10.6.5, Terminal.app, iTerm.app pbpaste, pbcopy no funciona en tmux" ) de la lista de correo tmux-users (actualmente alojado en sf.net, pero Aborrezco su interfaz de archivo ).
Nota: el parche se aplicó , en un momento, al puerto MacPorts, pero luego se revirtió cuando se sospechaba que estaba causando otros errores . Sin embargo, esos errores podrían haber sido causados por el gusto contra la versión incorrecta de libevent (y parece que las versiones recientes de tmux funcionarán con cualquiera de las versiones de libevent ).
Como helgeg lo mencionó, mencionaré mis notas sobre mi intento de usar el parche mencionado anteriormente.
Resumen: el parche no me pareció confiable. Permitió el acceso al tablero, pero activó muchos mensajes de advertencia de mi instalación de libevent versión 2 (tal vez la versión 1 se ve menos afectada). También evita que el servidor tmux realice su bifurcación normal (2) (a través del demonio (3) ), que es un cambio significativo en la forma en que el proceso del servidor fue diseñado para funcionar.
Terminé publicando un programa que soluciona el problema sin parchear tmux . Es posible que las personas que han tenido problemas para usar el cartón bajo tmux (y aquellas para las cuales el parche anterior no funciona satisfactoriamente) quieran probar mi solución alternativa.
fuente
^b + [
inicio el modo de exploración y usoSpace
+Enter
para seleccionar y copiar texto, no podré pegarlo en mac vim. ¿Por favor aconséjame?copy-mode
así simplemente se copia en un búfer tmux , no en el tablero de Mac. Podría usar un comando Vim:r!tmux save-buffer -
para leer el búfer. O puede hacer arreglos para copiar los datos en el tablero de Mac:tmux save-buffer - | reattach-to-user-namespace pbcopy
(tal vez como un enlace de tmux a través derun-shell
) o (en tmux 1.8+) salgacopy-mode
con un enlace comobind -t vi-copy y copy-pipe 'reattach-to-user-namespace pbcopy'
(es decir, use esto eny
lugar deEnter
una vez que tenga su selección).y
ahora: DChris Johnsen ha creado un contenedor que resuelve el problema del uso de pbcopy y pbpase en OSX. https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard (la causa raíz del problema MacVim anterior).
fuente
Otra forma arrogante de solucionar el problema que Chrish Johnsen describió extensamente:
(Larga historia corta: Tmux pierde el acceso al búfer de pasta OS X debido a la forma en que se inicia)
es recordar siempre abrir MacVim desde la carpeta de aplicaciones o una sesión de terminal que no sea tmux.
y usa esto
http://webexpose.org/2008/10/13/open-macvim-tabs-from-command-line
tutorial sobre siempre tener archivos abiertos en una nueva pestaña en la misma ventana de MacVim.
Esa ventana de MacVim ya tendrá acceso al búfer de pegado y no tendrá que pasar por los otros aros.
Pero deberá recordar no iniciar MacVim con tmux en la primera carga :(
fuente