Copie e cole com um único comando / chave com tmux

1

Eu realmente gosto do plugin tmux-copycat para selecionar nomes de arquivos no buffer do terminal, mas uma coisa que tornaria ainda melhor é a capacidade de copiar e colar o texto selecionado com um comando (de preferência ligado a uma chave). / p>

Não tenho conhecimento de nenhum comando existente para fazer isso, então imagino que alguns truques sejam necessários. Alguma dica sobre onde começar uma solução?

    
por Chris Steinbach 24.01.2018 / 09:15

1 resposta

1

Existe um par de comandos tmux que farão o que você deseja. Você vai querer ligá-los a um novo atalho (provavelmente um prefixo-chave-comando).

Digamos que você esteja no modo de cópia e tenha selecionado algum texto. Vá para a linha de comando (normalmente com prefixo- : ) e digite:

send-keys -X copy-selection-and-cancel ; paste-buffer 

Isso fará exatamente o que diz: coloque a seleção em um buffer de colar, cancele o modo de cópia e cole o conteúdo do buffer de pasta na linha de comando do shell (ou onde quer que estivesse quando entrou no modo de cópia).

Então agora você pode vincular esses comandos à chave de sua escolha com algo parecido com isto no seu arquivo tmux.conf

bind-key X send-keys -X copy-selection-and-cancel \; paste-buffer 

A única diferença entre isso e executá-lo diretamente é a necessidade de escapar do ; . Aperte a tecla de atalho da próxima vez que tiver selecionado algum texto no modo de cópia e você terá seu atalho de copiar e colar tudo em um.

Você pode querer ajustar isso um pouco. Por exemplo, você pode usar a opção -t target-page para paste-buffer para colar em outro local que não seja o painel atual. Veja os documentos para os dois comandos na página tmux man para ideias.

    
por 24.01.2018 / 10:42

Tags