copiar e colar não funciona no MacVim quando lançado no tmux
19
O copiar e colar do MacVim para de funcionar quando eu inicio a partir de um terminal tmux (no zsh). Se eu sair do tmux e iniciar o MacVim copy-past works. Alguma idéia de como consertar isso?
Resumo: achei o patch não confiável. Ele permitiu o acesso à área de transferência, mas disparou muitas mensagens de aviso da minha instalação da libevent versão 2 (talvez a versão 1 seja menos afetada). Isso também impede que o servidor tmux execute seu fork normal (2) (via daemon (3) ), que é uma mudança significativa na forma como o processo do servidor foi projetado para funcionar.
Acabei publicando um programa que resolve o problema sem corrigir o tmux . As pessoas que tiveram problemas ao usar a área de transferência no tmux (e aquelas para as quais o patch acima não funciona satisfatoriamente) podem querer tentar minha solução alternativa.
Muito obrigado pela sua investigação sobre este problema realmente irritante e solução brilhante, ele funciona como um encanto
MKO
Muito obrigado por isso. Eu posso copiar o texto do iTerm e colar no mac vim iniciado no tmux agora. No entanto, se eu ^b + [iniciar o modo de navegação e usar Space+ Enterpara selecionar e copiar texto, não poderei colá-lo no mac vim. Conselho por favor?
Phuong Nguyen
1
@PhuongNguyen: sair copy-modeassim apenas copia para um buffer tmux , não para a área de trabalho do Mac. Você pode usar um comando do Vim:r!tmux save-buffer - para ler o buffer. Ou você pode copiar os dados para a área de trabalho do Mac: tmux save-buffer - | reattach-to-user-namespace pbcopy(talvez como uma ligação do tmux via run-shell) ou (no tmux 1.8+) saia copy-modecom uma ligação do tipo bind -t vi-copy y copy-pipe 'reattach-to-user-namespace pbcopy'(ou seja, use-a yem Entervez de fazer a seleção).
Chris Johnsen
Obrigado cara. Eu estou usando a ligação de yagora: D
Respostas:
Você pode tentar o patch mencionado em um encadeamento relacionado ( “OSX 10.6.5, Terminal.app, iTerm.app pbpaste, pbcopy não funciona no tmux” ) na lista de discussão tmux-users (realmente hospedada em sf.net, mas Eu abomino sua interface de arquivamento ).
Nota: o patch foi aplicado uma vez na porta MacPorts, mas posteriormente foi revertido quando se suspeitava estar causando outros erros . No entanto, esses erros podem ter sido causados por gostar da versão errada do libevent (e parece que as versões recentes do tmux funcionarão com qualquer uma das versões do libevent ).
Desde que o helgeg o trouxe , mencionarei minhas anotações sobre minha tentativa de usar o patch mencionado acima.
Resumo: achei o patch não confiável. Ele permitiu o acesso à área de transferência, mas disparou muitas mensagens de aviso da minha instalação da libevent versão 2 (talvez a versão 1 seja menos afetada). Isso também impede que o servidor tmux execute seu fork normal (2) (via daemon (3) ), que é uma mudança significativa na forma como o processo do servidor foi projetado para funcionar.
Acabei publicando um programa que resolve o problema sem corrigir o tmux . As pessoas que tiveram problemas ao usar a área de transferência no tmux (e aquelas para as quais o patch acima não funciona satisfatoriamente) podem querer tentar minha solução alternativa.
fonte
^b + [
iniciar o modo de navegação e usarSpace
+Enter
para selecionar e copiar texto, não poderei colá-lo no mac vim. Conselho por favor?copy-mode
assim apenas copia para um buffer tmux , não para a área de trabalho do Mac. Você pode usar um comando do Vim:r!tmux save-buffer -
para ler o buffer. Ou você pode copiar os dados para a área de trabalho do Mac:tmux save-buffer - | reattach-to-user-namespace pbcopy
(talvez como uma ligação do tmux viarun-shell
) ou (no tmux 1.8+) saiacopy-mode
com uma ligação do tipobind -t vi-copy y copy-pipe 'reattach-to-user-namespace pbcopy'
(ou seja, use-ay
emEnter
vez de fazer a seleção).y
agora: DChris Johnsen criou um invólucro que resolve o problema de usar o pbcopy e o pbpase no OSX. https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard (a causa principal do problema MacVim acima).
fonte
Outra maneira hacky de contornar o problema que Chrish Johnsen descreveu longamente,
(Resumindo: o Tmux perde o acesso ao buffer de colagem do OS X devido à maneira como ele se lança)
é sempre lembrar de abrir o MacVim a partir da pasta de aplicativos ou de uma sessão de terminal não tmux.
e use isso
http://webexpose.org/2008/10/13/open-macvim-tabs-from-command-line
tutorial sobre sempre ter os arquivos abertos em uma nova guia na mesma janela do MacVim.
Essa janela do MacVim já terá acesso ao buffer de colagem e você não precisará passar pelos outros aros.
Mas você deve se lembrar de não iniciar o MacVim com tmux no primeiro carregamento :(
fonte