ターミナルウィンドウにタブ文字(ASCII hex 0x09)をどのように出力しますか?
すべての実験では、タブ文字は端末に表示されると空白に変わります。例えば
$ echo -e "xx\t\tyy"
xx yy
xx
yy
との間のスペースは2つのタブではなく14のスペースで埋められているので、これは私が望むものではありません。stty tab0
、、、、stty tab1
をstty tab2
試しましたがstty tab3
、すべて同じ結果を得ました。
私はGNOME Terminal 2.16.0とRed Hat Enterprise Linuxクライアントバージョン5.9を使用しています。
背景:端末でマウスでテキストを選択してExcelに貼り付けたいです。 Emacs(フィールド間に0x09タブを使用)でこれを行うと、フィールドは別の列に表示されます。私はこれが好きで、端末からコピーして貼り付けるときに同じ動作が欲しいです。ただし、現在のすべてのフィールドは最初の列の文字列で終わります。 Emacsのフィールド間にスペース(0x20)がある場合は、端末からコピーして貼り付けるのと同じ動作をします。
ベストアンサー1
タブ文字は印刷可能文字ではありません。 Tabは通常、カーソルを前に移動させる制御文字です(ただし、行の終わりではありません)。スキップされた文字は変更されません。
gnome-terminal
(およびvte
それに基づく他のエミュレータには)コピー - 貼り付けるためにタブを保存しようとする特別なトリックがありますが、ソフトラップではまだタブが失われます。他のエミュレータにもこれらのハッキング機能があるかもしれませんが、通常はそうではありません。
会話も参照してくださいhttps://bugzilla.gnome.org/show_bug.cgi?id=769316。