日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.3-RELEASE-K, 13.0-RELEASE-K から 13.2-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
INDENT(1) FreeBSD 一般コマンドマニュアル INDENT(1) 名称 indent -- C プログラムのソースを段付けして、書式化する 書式 indent [input-file [output-file]] [-bacc | -nbacc] [-bad | -nbad] [-bap | -nbap] [-ei | -ei] [-eei | -eei] [-bbb | -nbbb] [-bc | -nbc] [-bl] [-br] [-cn] [-cdn] [-cdb | -ncdb] [-ce | -nce] [-cin] [-clin] [-dn] [-din] [-fbs | -nfbs] [-fc1 | -nfc1] [-fcb | -nfcb] [-in] [-ip | -nip] [-ln] [-lcn] [-ldin] [-lp | -nlp] [-npro] [-pcs | -npcs] [-psl | -npsl] [-sc | -nsc] [-sob | -nsob] [-st] [-ta] [-troff] [-ut | -nut] [-v | -nv] 解説 indent ユーティリティは、C プログラムの書式化プログラムです。それは、ス イッチにしたがって input-file の C プログラムを再書式化します。指定するこ とができるスイッチは、以下に説明されています。それらは、ファイル名の前、 または後に現れます。 注: 利用者が input-file だけを指定するなら、書式化は、(直接書き換える) `in-place' で行われます、すなわち、書式化されたファイルは、input-file に 書き戻され、input-file のバックアップのコピーは、カレントディレクトリに書 き込まれます。input-file が `/blah/blah/file' と指定されるなら、バック アップファイルは、デフォルトで `file.BAK' と指定されます。バックアップの ファイルのために使用される拡張子は、SIMPLE_BACKUP_SUFFIX 環境変数を使用し て上書きされます。 output-file が指定されるなら、indent は、それが input-file と異なっている ことを確かめるためにチェックします。 以下にリストされたたオプションは、indent によって指定された書式化スタイル を制御します。 -bacc, -nbacc -bacc が指定されるなら、空行は、すべての条件付きコンパイ ルブロックのまわりで強制されます。例えば、すべての #ifdef の前とすべての #endif の後です。そのようなブロックを囲む 他の空行は、吸収されます。デフォルト: -nbacc。 -bad, -nbad -bad が指定されるなら、空行が、宣言のすべてのブロックの後 に強制されます。デフォルト: -nbad。 -bap, -nbap -bap が指定されるなら、空行が、すべての手続の本体の後に強 制されます。デフォルト: -nbap。 -bbb, -nbbb -bbb が指定されるなら、空行が、すべてのブロックのコメント の前に強制されます。デフォルト: -nbbb。 -bc, -nbc -bc が指定されるなら、改行が、宣言の各コンマの後に強制さ れます。-nbc は、このオプションをオフに切り替えます。デ フォルト: -nbc。 -br, -bl -bl を指定することは、次のように複合文を整列します: if (...) { code } -br を指定すること (デフォルト) は、それらを次のように見 せます: if (...) { code } -cn コードでコメントが始まるカラム。デフォルトは、33 です。 -cdn 宣言でコメントが始まるカラム。これらのコメントに対して、 デフォルトは、コードのコメントと同じカラムで始めることで す。 -cdb, -ncdb 空行でコメントの区切り文字の配置を有効 (無効) にします。 このオプションを有効にすることで、コメントは、次のように 見えます: /* * this is a comment */ それ以外は、次のようになります: /* this is a comment */ これは、コードの右のコメントではなく、ブロックコメントだ けに影響します。デフォルトは、-cdb です。 -ce, -nce `}' を直接先行してぴったりと寄り添う `else' を強制するこ とを有効 (無効) にします。訳注: `} else' のようになりま す。デフォルトは、-ce です。 -cin 継続の段付けを n に設定します。連続行は、文の最初の行の始 まりから段付けされます。-lp が実質的でないか、または継続 の段付けが正確に主要な段付けの半分でないなら、括弧に入れ られた式には、入れ子を示すために追加された特別な段付けが ありあす。-ci は、-i と同じ値をデフォルトとします。 -clin case ラベルは、switch 文を含んでいる右に n のタブストップ で段付けされます。-cli0.5 によって、case ラベルは、1 つの タブストップの半分で段付けされます。デフォルトは、-cli0 です。 -dn コードの右ではないコメントの配置を制御します。例えば、-d1 は、そのようがコメントがコードの左の 1 つの段付けレベルに 置かれることを意味します。デフォルトの -d0 を指定すること は、コードでこれらのコメントを並べます。下記のコメントの 段付けのセクションを参照してください。 -din それらのタイプ宣言の始めに関連するグローバル変数名とすべ ての struct/union メンバ名の段付けを文字位置ごとに指定し ます。デフォルトは、-di16 です。 -dj, -ndj -dj は、宣言を左寄せにします。-ndj は、コードと同じ宣言を 段付けします。デフォルトは、-ndj です。 -ei, -nei 特別の else-if 処理を有効 (無効) にします。それが有効であ るなら、else に続く if は、if 文を処理するのと同じ段付け となります。デフォルトは、-ei です。 -eei, -neei if と while 文の式の部分の継続行で特別の字下げを有効 (無 効) にしますこれらの継続行は、1 つの特別のレベルに字下げ されます。デフォルトは、-neei です。 -fbs, -nfbs 2 つの行に渡る関数宣言と開き中括弧を分割することを有効 (無効) にします。デフォルトは、-fbs です。 -fc1, -nfc1 カラム 1 で始まるコメントの書式化を有効 (無効) にします。 しばしば、先導する `/' がカラム 1 にあるコメントは、プロ グラマによって慎重に手動で書式化されています。そのような 場合に、-nfc1 が使用されるべきです。デフォルトは、-fc1 で す。 -fcb, -nfcb ブロックコメント (`/*\n' で始まるもの) の書式化を有効 (無 効) にします。しばしば、ブロックコメントは、プログラマに よって慎重に手動で書式化されませんが、改行を単に変更する 再書式化は、望まれません。そのような場合に、-nfcb が使用 されるべきです。次に、ブロックコメントは、ボックスコメン トのように扱われます。デフォルトは、-fcb です。 -in 1 つの段付けレベルのための空白の数。デフォルトは、8 で す。 -ip, -nip 左マージンからパラメータ宣言の段付けを有効 (無効) にしま す。デフォルトは、-ip です。 -ln 出力行の最大の長さ。デフォルトは、78 です。 -ldin それらのタイプ宣言の始めに関連するローカル変数名の段付け を文字位置ごとに指定します。デフォルトは、グローバルなも のと同じ量で段付けされるローカル変数名のためです。 -lp, -nlp 継続行で括弧によって囲まれたコードを整列します。行に、そ の行を閉じない左括弧があるなら、継続行は、左括弧の直後の 文字位置で始まるように整列します。例えば、ここで、継続さ れるコードの断片が実際に、-nlp でどのように見えるかを示し ます: p1 = first_procedure(second_procedure(p2, p3), third_procedure(p4, p5)); 実際に (デフォルトの) -lp で、コードは、多少クリアに見え ます: p1 = first_procedure(second_procedure(p2, p3), third_procedure(p4, p5)); 2 つ多い改行を挿入すると次のようになります: p1 = first_procedure(second_procedure(p2, p3), third_procedure(p4, p5)); -npro プロファイルファイル、`./.indent.pro' と `~/.indent.pro' を無視します。 -pcs, -npcs 真 (-pcs) であるなら、すべての手続きの呼び出しは、名前と `(' の間に挿入された空白があります。デフォルトは、-npcs です。 -psl, -npsl 真 (-psl) であるなら、定義されている手続の名前は、カラム 1 に置かれます - もしあるなら、それらのタイプは、前の行に 残されます。デフォルトは、-psl です。 -sc, -nsc すべてのコメントの左端でアスタリスク (`*') の配置を有効 (無効) にします。デフォルトは、-sc です。 -sob, -nsob -sob が指定されるなら、段付けは、オプションの空行を取り込 みます。利用者は、宣言の後の空行を取り除くために、これを 使用することができます。デフォルト: -nsob。 -st indent は、標準入力からその入力を取り、その出力を標準出力 に置きます。 -ta タイプキーワードのリストにすべての識別子の終りを示す "_t" を自動的に追加します。 -Ttypename typename をタイプキーワードのリストに追加します。名前の蓄 積は、次の通りです: -T は、複数回指定することができます。 利用者は、typedef によって定義される利用者のプログラムに 現れるすべての typename を指定する必要があります - 利用者 が少しをミスするなら、何も損害はありませんが、プログラム は、それが行うべきほどうまく書式化されません。これは、行 わなければならない手間のかかるもののように聞こえますが、 それは、実際に C の問題の兆候です: typedef は、言語の構文 的な変更を起こし、indent は、typedef のすべてのインスタン スを見つけることができません。 -troff indent は、troff(1) によって処理するためのプログラムを書 式化します。それは、vgrind(1) と同じ考えで多くの好みのリ ストを生成します。出力ファイルが指定されないなら、デフォ ルトは、適切に書式化するのではなく、標準出力です。 -ut, -nut 出力でタブ文字の使用を有効 (無効) にします。タブは、8 で 割り切れるカラムで整列されると仮定されます。デフォルト は、-ut です。 -v, -nv -v は、`冗長' モードをオンに切り替えます。-nv は、それを オフに切り替えます。冗長モードのとき、indent は、入力の 1 つの行を出力の 2 つ以上の行に分割し、完了時に、いくつかの サイズの統計を与えるとき、報告します。デフォルトは、-nv です。 利用者は、ログインディレクトリおよびカレントディレクトリと利用者の好みの スイッチは何でも含む、.indent.pro と呼ばれるファイルを作成することによっ て indent (段付け) するためにデフォルトの利用者自身の `プロファイル' を設 定することができます。カレントディレクトリの `.indent.pro' は、利用者のロ グインディレクトリのものに優先します。indent が実行されて、プロファイルの ファイルが存在するなら、それは、プログラムのデフォルトを設定するために読 み込まれます。しかしながら、コマンド行のスイッチは、常にプロファイルのス イッチを上書きします。スイッチは、空白、タブ、または改行によって区切られ るべきです。 コメント `ボックス' コメント。indent ユーティリティは、コメント (すなわち、`/*-' または `/**') の開始の直後のダッシュまたは星 (アスタリスク) があるあらゆ るコメントは、星 (アスタリスク) のボックスによって囲まれるコメントである と仮定します。そのようなコメントの各行は、その段付けが、コメントの最初の 行の段付けで変更の説明をするために調整されることを除いて、変更されないま まです。 連続したテキスト。すべての他のコメントは、連続したテキストとして扱われま す。indent ユーティリティは、できるだけ 1 つの行に (空白、タブ、または改 行によって区切られる) 多くの単語を納めます。空行は、段落を分断します。 コメントの段付け コメントが、コードがある行にあるなら、それは、-cn コマンド行パラメータに よって設定される `コメントカラム' で開始されます。そうでなければ、コメン トは、コードが現在置かれている位置より n だけ少なく字下げされます、ここで n は、-dn コマンド行のパラメータによって指定されます。行のコードがコメン トカラムを過ぎて拡張するなら、コメントは、さらに右に開始し、右マージン は、極端な場合に自動的に拡張されます。 プリプロセッサ行 一般的に、indent は、プリプロセッサの行をそのままにしておきます。それが行 う唯一の再書式化は、後続するコメントを整頓することです。それは、埋め込ま れたコメントをそのままにしておきます。条件付きコンパイル (#ifdef...#endif) は、認識され、indent は、導入された構文上の特性を正しく 補正することを試みます。 C の構文 indent ユーティリティは、C の構文に関してかなり理解していますが、それに は、`寛大な' 構文解析があります。不完全で、不正な構文の通常の種類に対処す ることを試みます。特に、次のようなマクロの使用で: #define forever for(;;) は、適切に処理されます。 環境変数 indent ユーティリティは、HOME 環境変数を使用します。 関連ファイル ./.indent.pro プロファイルのファイル ~/.indent.pro プロファイルのファイル 歴史 indent コマンドは、4.2BSD で登場しました。 バグ indent ユーティリティには、ls(1) よりさらに多くのスイッチがあります。 よくある誤りは、次のようにタイプしてディレクトリのすべての C プログラムを 段付けしようと試みることです: indent *.c これは、おそらく、機能ではなく、バグです。 FreeBSD 11.2 August 7, 2017 FreeBSD 11.2