Como selecionar (copiar) uma saída no terminal sem mouse


10

Parece uma maneira típica de você ter alguma saída no terminal e se você deseja selecionar determinada frase, usa o mouse para copiá-lo, mas existe alguma maneira de selecionar sem usar o mouse? Por exemplo, eu insiro lse obtenho uma lista de arquivos e desejo selecionar o segundo arquivo (segunda linha). Existe uma maneira de copiar o nome sem usar o mouse?


Respostas:


10

Usando tmux:

Eu uso tmuxno modo vi:

  1. Vá para o modo de cópia (no meu config Prefix+ escape, o prefixo padrão é Ctrl+ b)
    • No arquivo de configuração ( ~/.tmux.conf):bind Escape copy-mode
  2. Mover-se (usando as setas)
  3. Selecione a saída desejada (Comece a seleção com Space)
    • Na minha configuração v:bind-key -T copy-mode-vi y send-keys -X begin-selection
  4. Pressione Enterpara copiar o texto.
    • Na minha configuração y:bind-key -T copy-mode-vi y send-keys -X copy-selection
  5. Pressione Prefix+ ppara colar.

insira a descrição da imagem aqui

Crie também uma ligação de chave como esta:

bind C-c run "tmux save-buffer - | xsel -bi"

Para salvar o buffer na área de transferência do sistema, pressione Prefix+ Ctrl+ c.

Eu adicionei minha configuração porque é mais como o vim do que a configuração padrão.


Usando comandos:

Aqui está o que eu faço:

  1. Execute o comando (por exemplo ls -1:)
  2. Processe a saída para obter o resultado desejado
  3. Pip para xsel -bi

No seu exemplo:

$ ls -1 | sed -n 2p | xsel -bi
  • ls -1 imprime as saídas cada uma em uma linha
  • sed -n 2p pegue a segunda linha
  • xsel foi usado para copiar o resultado final na área de transferência.

Se o comando demorar muito para ser executado, primeiro salve a saída em um arquivo e processe a saída:

command > output
head -10 output | whatever | xsel -bi

0

Os emuladores de terminais Linux mais comuns não podem fazer isso diretamente. Existem dois que eu conheço, no entanto.

Um que existe há algum tempo é o cupim. É um pouco espartano, no entanto (atalhos de teclado não configuráveis, sem várias guias).

Agora há um segundo, que possui esses recursos chamados Mantid (que eu descaradamente anuncio aqui :)):

https://github.com/omgold/mantid-term

Ainda não existe uma versão do Ubuntu, no entanto, um Arch e RPM. Você pode tentar criar um RPM e converter para deb usando o Alien, no entanto.


Gostaria de experimentar mantid, mas não consigo encontrar nenhum tutorial ou manual. Existe alguma documentação por aí? Seria bom saber pelo menos como ele realiza a funcionalidade solicitada na pergunta.
Luís de Sousa

Há uma página de manual ('man mantid') e há exemplos de arquivos de configuração em / usr / share / mantid. A página de manual documenta principalmente as opções de configuração e as combinações de teclas ativas podem ser consultadas no arquivo de configuração.
Omgold 9/08/19
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.