Eu corro fish (no gnome-terminal) com um estilo personalizado que me dá informações sobre o repositório Git atual:
Está tudo muito bem, mas quando eu quero copiar e colar algum comando com sua saída assim:
eu quero pegar
$ du -sh .
1012K .
ao invés de
$ du -sh . 0⚹ 0↺ 0? 0≡ ? master
1012K .
Outro caso de uso seria copiar de editores como o vim com números de linha ativados - uma grande dor de cabeça.
Existe alguma maneira de impedir a seleção/cópia de determinados caracteres em um terminal?
FWIW, estou ciente de que alguns estilos movem o cursor para a próxima linha:
<gutter left> <gutter right>
$ <caret>
Embora seja uma solução funcional, não é isso que estou pedindo.
Não, isso não é possível com o comando e sua saída. O emulador de terminal copia o que estiver na tela. Você precisa copiar e colar em duas etapas: uma vez para o comando e outra para sua saída. Um terminal pode facilitar, permitindo selecionar uma região não contígua de texto, como o Firefox faz com Ctrl + clique, mas não conheço nenhum terminal que implemente isso.
Quanto aos editores de texto e números de linha, isso ainda não é possível desde que seja o emulador de terminal que copie o texto. No entanto, aqui pode fazer mais sentido usar o recurso de cópia do próprio editor (via teclado ou mouse). O editor pode não apenas pular o número da linha, mas também incluir partes do texto que são cortadas na margem direita, preservar caracteres TAB, preservar outros caracteres de controle não imprimíveis etc.