tmux congela ao usar o ctrl-prefixo ctrl-y

6

Estou usando um arquivo personalizado .tmux.conf que se parece com isso:

unbind-key C-b
set -g prefix C-a
bind-key C-a send-prefix

set-window-option -g mode-keys vi
bind-key -t vi-copy 'v' begin-selection
bind-key -t vi-copy 'y' copy-selection

## CLIPBOARD selection integration
# Requires prefix key before the command key
# Copy tmux paste buffer to CLIPBOARD
bind C-y run "tmux show-buffer | xclip -i -selection clipboard"
# Copy CLIPBOARD to tmux paste buffer and paste tmux paste buffer
bind C-p run "tmux set-buffer -- \"$(xclip -o -selection clipboard)\"; tmux paste-buffer"

Estou usando ctrl + a ctrl + y para copiar do buffer de cópia do tmux para a área de transferência. Mas toda vez que eu faço isso tmux congela e não aceita nenhuma entrada. Eu tentei usar ctrl + q mas isso não ajuda.

O que posso fazer para evitar que o tmux congele, quais atalhos estão interferindo aqui? Eu também tentei o atalho ctrl + a ctrl + c , mesmo problema aqui.

    
por Reza 03.10.2013 / 14:52

2 respostas

7

Se você digitar o comando xclip na linha de comando, notará que ele não é concluído. Isso ocorre porque ele continua aceitando a entrada até que STDIN seja concluído. Assim, STDOUT nunca é fechado. Você pode resolver isso redirecionando o STDOUT de xclip para /dev/null . Por exemplo:

bind y run "tmux save-buffer - | xclip -selection clipboard &>/dev/null"

Neste exemplo, eu redireciono STDERR também, caso isso seja importante.

    
por 05.10.2013 / 15:55
1

xclip está aguardando entrada, o que impede que o tmux receba entrada. O exemplo a seguir permite que o xclip seja executado em outro shell sem bloquear sua sessão do tmux:

bind y run-shell -b "tmux save-buffer - | xclip -selection clipboard"

Eu até adicionaria uma mensagem para ajudar seu fluxo de trabalho:

bind y run-shell -b "tmux save-buffer - | xclip -selection clipboard; tmux display-message \"Tmux buffer saved to clipboard\" "

Espero que isso ajude!

    
por 18.11.2014 / 06:54

Tags