Script Bash para copiar o texto atualmente digitado para o prompt

0

Estou tentando minimizar o uso do mouse. Copiar texto no terminal é a atividade mais inconveniente para evitar o mouse. Agora, tmux me ajudou a obter esse propósito. No entanto, eu regularmente preciso copiar o texto inserido atualmente no prompt do bash. Texto inserido atualmente significa que eu digitei alguns símbolos no prompt, mas não pressione Enter . tmux maneira para esse propósito precisa de muito atalhos de teclado.

Gostaria que algum script copiasse o texto atual do prompt para a área de transferência. Eu quero adicionar este script para ~/.bashrc e atribuir o atalho de teclado para. Como escrever este roteiro?

    
por Loom 07.02.2014 / 14:44

1 resposta

6
copy_buffer() {
  printf %s "$READLINE_LINE" | xclip -sel clipboard
}
bind -x '"\C-[c": "copy_buffer"'

Armazenaria o buffer atual na seleção da área de transferência ao pressionar Alt-C .

Observe também que bash (como todos os shells) tem suporte para copiar e colar dentro do prompt. Por exemplo, Ctrl + U mataria o buffer inteiro e o colaria (puxando), deixando-o no buffer de yank para que você o puxasse novamente mais tarde, se quisesse.

Veja zsh ou tcsh para recursos mais avançados.

    
por 07.02.2014 / 14:59