Visualizando valores separados por tabulações no terminal (não mostra as tabulações)

Visualizando valores separados por tabulações no terminal (não mostra as tabulações)

Se eu tiver um arquivo de valores separados por tabulação, e eu disser catisso, ele renderizará muito bem o arquivo para mim, todo alinhado corretamente. Agora, se eu tentar copiar e colar (usando o mouse), para outro editor de texto. As abas viram espaços!?

Existe um emulador de terminal que renderiza guias como guias literais e não como espaços?

Aqui está um teste:

echo -e "first"$'\t'"second"$'\t'"third"$'\n'"1"$'\t'"2"$'\t'"3" > tsv.tsv
cat tsv.tsv

Agora tente copiar e colar em um editor de texto GUI.

Responder1

Emuladores de terminal baseados no vtewidget (por exemplo gnome-terminal, ) preservam TABs neste caso.

Observe que ele está limitado apenas ao cenário de uso mais simples, quando o caractere TAB não avança sobre o conteúdo já existente.

A maioria dos emuladores de terminal o converte em espaços porque, para terminais, TAB não é um caractere imprimível, é uma sequência de controle que realoca o cursor. Por exemplo, se você usar TAB sobre os caracteres existentes, esses caracteres permanecerão lá e não serão eliminados (não serão substituídos por espaços).

Responder2

Você provavelmente não encontrará um. Na minha experiência, até mesmo os terminais que os emuladores de terminal estão emulando guias renderizadas em espaços em exibição. Certamente você poderia definir paradas de tabulação em VT100s, portanto, não era uma definição rígida do que era uma guia na tela. Se você enviasse a sequência de escape para imprimir a tela em um Digital Equipment Corporation VT100 real, ela enviaria espaços para a impressora onde as tabulações foram renderizadas como espaços.

Como solução alternativa, considere abrir o documento de origem com guias em uma sessão separada do editor GUI. Em seguida, selecione o texto necessário, recorte e cole no documento de destino que você abriu em uma sessão diferente. Por exemplo, eu sei gvimque copiarei caracteres de tabulação para a área de transferência.

Se o seu editor GUI específico oferece suporte, é apenas uma questão de conjectura neste momento.

informação relacionada