dポイントプレゼントキャンペーン実施中!

UNIX標準出力で表示されるタブの幅について

標準出力で表示されるタブの幅がデフォルトで8に設定されているのですが、
これを変更することはできないでしょうか?

Cソースなどをタブの幅4でインデントを揃えているのですが
このCソースをdiffコマンドなどで標準出力に出力すると
タブが自動的に8で表示されてしまい非常に見づらいので
変更する方法を調べているのですが、さっぱりわかりません。

どなたかご存知の方いらっしゃいませんでしょうか?
ちなみにシェルはcshです。
宜しくお願いいたします。

A 回答 (2件)

タブストップを設定できるタイプの端末 (ほとんどの端末エミュレータで設定できるでしょう) なら、


 tabs -4
を実行する(~/.cshrcに書いてもよい) と端末設定が4タブになるはずです。

ただし、この設定すると、確かに cat textfile.txt のようにして表示した場合には4タブになりますが、more や vi は、タブストップを独自の設定(デフォルトは8タブ) に従ってスペースに変換して表示してしまいます。その場合は、expand コマンドで、タブを4タブ前提でスペースに変換し、表示するのでもいいでしょう。

 expand -t 4 textfile.txt | more


ちなみに等間隔でないタブストップを設定することもできます。
 tab 3,10,29,50
または
 expand -t 3,10,29,50
とすればカラム3,10,29,50 にタブストップが設定されます。

参考URL:http://docs.sun.com/app/docs/doc/819-1210/tabs-1 …
    • good
    • 0
この回答へのお礼

お礼が遅くなりスミマセンでした。

教えていただいたtabsコマンドを実行してみたのですが、
その後に実行したdiffやcatの表示結果は8のままでした。

何故なのでしょうか?

お礼日時:2010/06/08 00:28

普通に考えたらターミナルの設定でなんかするんじゃないかなぁ?

    • good
    • 0
この回答へのお礼

お礼が遅くなってしまいスミマセンでした。

ターミナル?はteratermを使っていますが、
そのような設定はなかったと思います。

お礼日時:2010/06/08 00:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!