Estou executando a versão mais recente do tmux (do repositório git) e do xclip (0.12) e gostaria de poder usar as ligações de teclado do tipo Emacs para mover o texto copy-mode, as M-wseleções de copy ( ) para a área de transferência e paste ( C-y) de / para o buffer de cópia na área de transferência.
Até agora, consegui colar texto C-ye me movimentar copy-modecom as ligações de teclado do tipo Emacs, mas ainda não consigo copiar o texto de um buffer tmux (por exemplo, em copy-mode)
Encontrei este tópico para copiar todo o buffer para a área de transferência (e vice-versa), mas não parece estar funcionando para mim.
Além disso, na tmux-userslista de emails, disseram-me que as versões recentes do tmux (apenas no repositório git) fornecem um comando chamado copy-pipe. A página do manual diz o seguinte sobre este comando:
Um comando aceita um argumento, copy-pipe, que copia a seleção e a envia para um comando. Por exemplo, o seguinte ligará 'C-q' para copiar a seleção em / tmp e também no buffer de colagem:
bind-key -temacs-copy C-q copy-pipe "cat >/tmp/out"
Parece que copy-pipedeve ser usado em parte para canalizar a seleção para outro comando. Também parece haver alguns erros de digitação nesta descrição e no comando (o que é temacs-copy?)
De qualquer forma, o que eu gostaria de fazer é:
Copiando:
- Entre no modo de cópia
- Mover-se para o texto que deseja copiar usando comandos de navegação Emacs (ou seja
C-f,C-b,M-f,M-b,C-a,C-eetc, para mover o cursor). Não há prefixo para nenhum deles. - Copie o texto selecionado na área de transferência com:
M-w( sem prefixo )
Colagem:
- Eu gostaria de poder digitar
C-y( sem precisar digitarcopy-mode) para colar texto no terminal ( sem prefixo )
Tentei o seguinte para copiar sem sorte:
bind-key -n M-w run "tmux save-buffer - | xclip -i -selection clipboard"
No entanto, colar funciona muito bem:
bind-key -n C-y run "xclip -o | tmux load-buffer - ; tmux paste-buffer"
O mais estranho é que sei que a xclip -i -selection clipboardparte " " do comando de cópia acima funciona bem, pois posso copiar as coisas para a área de transferência na linha de comando, por exemplo:
echo "Hello world. How are you?" | xclip -i -selection clipboard
Com tudo isso, como posso copiar uma seleção do modo de cópia para a área de transferência?