Não é possível copiar do tmux (2.4+) para a área de transferência do OS X

3

O código a seguir usado para trabalhar no meu .tmux.conf :

# Mac OS X:
bind-key -n -t emacs-copy M-w copy-pipe "reattach-to-user-namespace pbcopy"

# Move tmux copy buffer into x clipboard
unbind-key M-w
bind-key -n M-w run "tmux save-buffer - | xclip -i -selection clipboard" \; display-message 'Copying to clipboard'

Ele parou de funcionar recentemente, então não consigo mais copiar texto do tmux para outro lugar. Eu estou supondo que este é o resultado da atualização do tmux ou reattach-to-user-namespace .

Agora recebo o seguinte erro:

invalid or unknown command: bind-key -n -t emacs-copy M-w copy-pipe 
"reattach-to-user-namespace pbcopy"

Aqui estão as versões que estou usando (de brew ).

/usr/local/Cellar/tmux/2.4/bin/tmux

/user/local/bin/reattach-to-user-namespace/2.5

O que pode ter mudado e como posso restaurar minha capacidade de copiar de tmux para o sistema?

    
por Amelio Vazquez-Reina 02.05.2017 / 23:40

2 respostas

5

Tente o seguinte:

bind-key -T copy-mode M-w send-keys -X copy-pipe 'reattach-to-user-namespace pbcopy'

Observe que tmux alterou recentemente as tabelas principais :

  • Key tables have undergone major changes. Mode key tables are no longer separate from the main key tables. All mode key tables have been removed, together with the -t flag to bind-key and unbind-key.

    The emacs-edit, vi-edit, emacs-choose and vi-choose tables have been replaced by fixed key bindings in the command prompt and choose modes. The mode-keys and status-keys options remain.

    The emacs-copy and vi-copy tables have been replaced by the copy-mode and copy-mode-vi tables. Commands are sent using the -X and -N flags to send-keys. So the following:

    bind -temacs-copy C-Up scroll-up bind -temacs-copy -R5 WheelUpPane scroll-up

    Becomes:

    bind -Tcopy-mode C-Up send -X scroll-up bind -Tcopy-mode WheelUpPane send -N5 -X scroll-up

    This changes allows the full command parser (including command sequences) and command set to be used - for example, the normal command prompt with editing and history is now used for searching, jumping, and so on instead of a custom one. The default C-r binding is now:

    bind -Tcopy-mode C-r command-prompt -p'search up' "send -X search-backward '%%'"

    There are also some new commmands available with send -X, such as
    copy-pipe-and-cancel.

    
por 04.05.2017 / 20:03
0

Como Amelio mencionou na outra resposta, tmux na versão 2.4 passou por grandes mudanças incompatíveis com o passado quando se trata de lidar com mapas de atalho de teclado.

A maneira como copiei para trabalhar com vi keys e versão 2.6 é:

bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'reattach-to-user-namespace pbcopy'
bind-key -T copy-mode-vi V send-keys -X rectangle-toggle
bind-key -T copy-mode-vi Y send-keys -X copy-end-of-line

Você deve ser capaz de usar uma sintaxe semelhante para vincular os comandos certos para si mesmo.

    
por 25.11.2017 / 05:22

Tags