• ベストアンサー

字下げ(インデント)について

UNIX上でemacsを使用してC言語を記述しています。 勉強する際に、サンプルプログラムをコピペして 実行させてみることがよくあります。 このときに字下げが行われていないソースを 全ての行に対してtabキーを押して字下げを 行うのですが、長いソースになるととても億劫に なります。現在も2000行近くあるサンプルプログラム の字下げを行っているのですがとても面倒です。 一度に字下げを行う方法はあるのでしょうか? ご助言お願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • abayama
  • ベストアンサー率48% (38/79)
回答No.2

LinuxでないUnixの場合、indentは標準コマンドではないのでインストールされていないかもしれません。cb(C beautifierの略)というコマンドで整形できます。 またemacsをお使いなら、 M-x indent-region で指定した範囲の字下げが行なわれます。

denpanounabara
質問者

お礼

ついさっき友達と実際にやってみました。みんなかなりびっくりしてました(笑) 非常に役立つ情報ありがとうございました。

その他の回答 (1)

  • muyoshid
  • ベストアンサー率72% (230/318)
回答No.1

こんにちわ。 > 一度に字下げを行う方法はあるのでしょうか? indent を使ってみてはいかがでしょうか?

参考URL:
http://www.linux.or.jp/JM/html/GNU_indent/man1/indent.1.html, http://l5web.laser5.co.jp/rpm2html/6.4/indent-2.2.5-1.i386
denpanounabara
質問者

お礼

ご助言ありがとうございます。指定してくださったHPも参考になりました。これで次回からはTab押しに悩まなくてすみます。

関連するQ&A

  • emacsによる字下げの方法

    最近、Windows版emacs(Meadow)で、C言語のプログラムを書き始めた初心者です。 emacsにはTABで半角スペースによる適切なインデントを行ってくれる便利な機能がありますが、行頭のみでしか行ってくれません。行頭以外でも字下げを行う方法はありますか?例えば、 ------ int n char a[10] ------ と記入した際、のnとa[10]の頭を揃える方法です。 自分である程度調べてみるとM-iに字下げを行うコマンドを見つけましたが、タブ文字を使用してしまうため環境によって表示がバラバラになり見にくいという指摘があるため、タブ文字の使用は控えたいのです。 このM-iによる字下げを半角スペースによって行う方法、行頭以外で半角スペースによる字下げを行う別の方法、どちらでも構いません。 わかる人がいれば教えてください。よろしくお願いします。

  • インデントってどうやって表示するの?

    プログラムのソースプログラムをウェブに載せたいのですがホームページビルダーなどに ソースをこぴぺすると全て字下げがなくなってしまいます。 こんな感じです。 #include<stdio.h>   int main(){     printf("hello\n");   return 0; } これが #include<stdio.h> int main(){ printf("hello\n"); return 0; } こうなってしまうわけですね。 字下げはTABキーのインデントで行っています。 1行ずつスペースを書いていけばいいのでしょうけど 何しろ何百行もあるソースですのでそれは無理です。 字下げを失わずにHTMLに変換することできないでしょうか?

    • ベストアンサー
    • HTML
  • emcsで連続したTAB

    すみません、ご存知の方いらっしゃいましたら、お願いいたします。 現在vine2.6で、EMACSを使用してJAVAを記述しようとしています。 つまづいているところは、連続してTABをいれられないのです。 TABをいれて字下げが行われますが、もう1段階下げたい場合に、 再度TABを押しても字下げされないです。 なにか解決策ありましたらご教授お願いいたします。

  • c言語の実行が分かりません

    C言語のプログラムを実行させる方法が分かりません。 unixでC言語を以下の手順で学習しています。 1 emacs上でファイル名.cというソースファイルを作成。 2 xterm上で gcc ファイル名.c と入力 その後xterm上で後一つコマンドを入力すればいいのですが、そのコマンドを忘れてしまいました。教えていただければ、ありがたいです。

  • Wordで自動インデントさせたい

    word2003を使っています。 右クリックで、段落→インデント幅、の数字を変えれば改行時に設定したインデント幅で次の行を始められるのですが、 都度設定を変更するのが面倒です。 「行の先頭にスペースを入れることでインデント幅を決定する」ことができるようなので、その設定にしたいのです。 見せてもらった所、友人はこの設定になっているのですが、彼もどこを設定すればそうなるのかはわからないと。 無理も無いと思いますが。 過去ログを検索したら、  1.メニューの「ツール」→「オートコレクトのオプション」をクリック。  2.開いたウィンドウから「一括オートフォーマット」タブをクリックして開く。  3.「行の始まりのスペースを字下げに変更する」のチェックを外す。 という記事があったのですが、 これを実行しても何も変化が見られません。 これ以外にも設定する場所があるのでしょうか。 やりたいことはこの「行の始まりのスペースを字下げに変更する」で間違いないのですが。

  • C言語 フリーソフト

    C言語の練習(コンパイル・実行)がしたいのですが、良いフリーソフトあれば教えて下さい。学校ではUNIXでemacsを使用してプログラムを書いています。出来るだけ学校と同じような感じでやりたいのですが・・・。 家ではWindowsvistaのPCを使ってます。

  • WindowsでC言語を書く

    WindowsでC言語を書きたいと思いますが、UNIXで使えるemacsみたいに自動でインデンテーション位置を設定してくれる(Tabを押すと適切な位置までスペースが入力される)ソフトみたいなものはありますか?

  • sendmailの使用方法

    unixにてsendmailを使用してメールの送受信を操作するバッチ(C言語)を作成したいのですが・・・サンプルソースなど記述してあるHPを知っている方がいらっしゃいましたら教えてください(Perlは結構ありそうなのですが)

  • tabの効くフリーのエディタありますか?(winで)

    windowsでJAVAのプログラムしたいんですが、unixのemacsのようなtabを上から下に押していくとスペースを自動調整してくれるようなエディタないですかね? フリーで手に入るもので、大きくても数MBくらいの大きさでお願いします。

  • C言語による実行

    C言語で記述したソースプログラムを入手しました。これをコンパイルして実行する具体的な方法を教えて下さい。私は、MS-Fortran,FBASICのソースプログラムからコンパイルし、実行することをしております。