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 estas copiando Si bien no estoy familiarizado con su problema particular, en general, donde un atajo no funciona, otro lo hará.
Yitzchak

comando C / V. las cosas funcionan bien si ejecuto fuera de tmux, por lo que definitivamente está relacionado con tmux
Lisa

Respuestas:


16

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.


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
Phuong Nguyen


0

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 :(

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.