Anzeigen von durch Tabulatoren getrennten Werten im Terminal (die Registerkarten werden nicht angezeigt)

337
CMCDragonkai

Wenn ich eine durch Tabulatoren getrennte Werte-Datei habe, und ich sage cates, wird die Datei für mich schön in einer Reihe dargestellt. Wenn ich jetzt versuche, das Einfügen (mit der Maus) in einen anderen Texteditor zu kopieren. Die Registerkarten werden zu Leerzeichen !?

Gibt es einen Terminalemulator, der Registerkarten als Literal-Registerkarten und nicht als Leerzeichen darstellt?

Hier ist ein Test:

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

Versuchen Sie nun, in einen GUI-Texteditor zu kopieren.

0

2 Antworten auf die Frage

1
infixed

Sie werden wahrscheinlich keinen finden. Nach meiner Erfahrung emulieren sogar die Terminals, an denen Terminal-Emulatoren gerenderte Registerkarten simulieren, Leerzeichen. Sicherlich konnten Sie auf VT100s Tabstopps setzen, sodass es keine feste Definition des Tabs auf dem Bildschirm war. Wenn Sie die Escape-Sequenz zum Drucken auf einem echten Digital Equipment Corporation VT100 gesendet haben, werden Leerzeichen an den Drucker gesendet, an denen Registerkarten als Leerzeichen dargestellt wurden.

Öffnen Sie als alternative Lösung das Öffnen des Registers mit Quelltext in einer separaten Sitzung Ihres GUI-Editors. Wählen Sie dann den gewünschten Text aus und fügen Sie ihn in Ihr Zieldokument ein, das Sie in einer anderen Sitzung geöffnet haben. Ich weiß zum Beispiel, dass gvimTabulatorzeichen in die Zwischenablage kopiert werden.

Ob Ihr bestimmter GUI-Editor dies unterstützt, ist an dieser Stelle nur eine Vermutung.

1
egmont

Terminal-Emulatoren, die auf dem vteWidget basieren (z. B. gnome-terminal), bewahren in diesem Fall TABs.

Beachten Sie, dass dies auf das einfachste Verwendungsszenario beschränkt ist, wenn das TAB-Zeichen den vorhandenen Inhalt nicht übersteigt.

Die meisten Terminal-Emulatoren konvertieren es in Leerzeichen, da TAB für Terminals kein druckbares Zeichen ist. Dies ist eine Steuersequenz, die den Cursor verschiebt. Wenn Sie beispielsweise vorhandene Zeichen überblättern, bleiben diese Zeichen dort und werden nicht gelöscht (nicht durch Leerzeichen ersetzt).

Beeindruckend. Es klappt. Vielen Dank. Nur der Wunsch von Konsole könnte das aber auch. CMCDragonkai vor 8 Jahren 0