tl; dr
... | tmux loadb -
tmux saveb - | ...
Explicação e Antecedentes
No tmux, todas as atividades de copiar / colar passam pela pilha de buffers, onde o topo (índice 0) é o texto copiado mais recentemente e será usado para colar quando nenhum índice de buffer for explicitamente fornecido -b. Você pode inspecionar os buffers atuais com tmux list-buffersou o atalho padrão tmux-prefix+ #.
Existem duas maneiras de canalizar para um novo buffer tmux no topo da pilha, set-bufferusando um argumento de string e load-bufferusando um argumento de arquivo. Para canalizar para um buffer que você geralmente deseja usar load-buffercom stdin, por exemplo:
print -l **/* | tmux loadb -
Colar isso de volta nos editores e isso é bastante óbvio ( tmux-prefix+ ]ou o que você quiser paste-buffer), no entanto, acessar a pasta de dentro do shell não é, porque a chamada paste-buffergravará a pasta no stdin, que termina na edição do seu terminal buffer e qualquer nova linha na pasta fará com que o shell execute o que foi colado até agora (potencialmente uma ótima maneira de arruinar o seu dia).
Existem algumas maneiras de abordar isso:
tmux pasteb -s ' ': -ssubstitui todas as terminações de linha (separadores) por qualquer separador que você fornecer. No entanto, você ainda obtém o comportamento, o paste-bufferque significa que a pasta acaba no buffer de edição do terminal, que pode ser o que você deseja, mas geralmente não é.
tmux showb | ...: show-bufferimprime o buffer em stdout e é quase o necessário, mas, como Chris Johnsen menciona nos comentários , show-bufferexecuta a codificação octal de caracteres ASCII não imprimíveis e caracteres não ASCII. Infelizmente, isso quebra com freqüência suficiente para ser irritante, com coisas simples, como seqüências terminadas nulas ou caracteres latinos acentuados (por exemplo, print -N á | tmux loadb - ; tmux showbimpressões em zsh \303\241\000).
tmux saveb - | ...: save-bufferfaz o inverso load-buffere grava os bytes brutos sem modificação no stdin, o que é desejado na maioria dos casos. Você poderia então continuar montando outro tubo, e por exemplo. passar | xargs -n1 -I{} ...para linha de processo sábio, etc.
tmux show-bufferfará codificação octal de caracteres de controle C0 e bytes não ASCII (por exemplo, caracteres latinos acentuados, etc.). Você pode usartmux save-buffer -se quiser os bytes brutos (geralmente é o que você deseja).