Previous: , Up: Cおよび関連するモード   [Contents][Index]


27.12.4 Cモードのその他のコマンド

M-x c-context-line-break

このコマンドは、コンテキストに応じたマナーで、行ブレークの挿入と新しい行のインデントを行います。通常のコードの中では、RET (newline)の働きをしますが、Cプリプロセッサー行の中では、行ブレークに追加で‘\’を挿入し、コメントの中ではM-j (c-indent-new-comment-line)のように動作します。

デフォルトでは、c-context-line-breakはキーにバインドされていませんが、便利に使うためには、キーにバインドする必要があります。以下のコードは、このコマンドをRETにバインドします。この例ではキーマップを変更する前に、それがロードされていることを確実にするためにc-initialization-hookを使用しています。

(defun my-bind-clb ()
  (keymap-set c-mode-base-map "RET"
              'c-context-line-break))
(add-hook 'c-initialization-hook 'my-bind-clb)
C-M-h

マークを関数定義の最後に配し、ポイントを先頭に配します(c-mark-function)。

M-q

CおよびC++のコメントに対応した、パラグラフのフィルを行います(c-fill-paragraph)。カレント行がコメントを含む、またはカレント行がコメントの場合、このコマンドはコメントのインデントとコメント区切りを保ちながら、コメントまたはポイントがあるパラグラフをフィルします。

C-c C-e

リージョンのテキストにたいして、Cプリプロセッサーを実行して、すべてのマクロ呼び出しの展開を含めて、結果を表示します。リージョンの前にあるバッファーのテキストも、マクロ定義がそこにあるためにプリプロセスされますが、この部分は出力には表示されません。

マクロを使用するCコードをデバッグするとき、マクロがどのように展開されるか正確に解明するのが難しいときがあります。このコマンドにより、展開結果を見ることができるので、わざわざ解明する必要がなくなります。

C-c C-\

リージョン内の各行末に、‘\’文字を挿入、または位置揃えします(c-backslash-region)。これはCマクロ定義を、記述または編集した後に便利です。

行がすでに(c-backslash-region)で終了されている場合、このコマンドはそれの前の空白文字の数を調整します。そうでない場合は、新規に‘\’を挿入します。しかしリージョンの最後の行は特別に扱われます。この行には‘\’は挿入されず、もし‘\’がある場合は削除します。

M-x cpp-highlight-buffer

プリプロセッサー条件に対応するテキスト部分を、ハイライトします。このコマンドは*CPP Edit*という名前の別のバッファーを表示します。これは特定の条件とその内容をどのように表示するかを選択するための、グラフィックメニューを供します。さまざまなセッティングを変更した後に、‘[A]pply these settings’をクリック(またはそのバッファーでaをタイプ)すると、それに応じてCモードのバッファーが再ハイライトされます。

C-c C-s

カレントソース行の構文的な情報を表示します(c-show-syntactic-information)。この情報は、その行がどのようにインデントされるべきか決定するために使用されます。

M-x cwarn-mode
M-x global-cwarn-mode

CWarnマイナーモードは、ある種の疑わしいCおよびC++の構文をハイライトします。

  • 式の中での値の割り当て。
  • if’、‘for’、‘while’(‘do … while’命令は除く)の直後のセミコロン。
  • 参照パラメーターをともなうC++関数。

このモードを1つのバッファーにたいして有効にするにはコマンドM-x cwarn-mode、すべての適合するバッファーにたいして有効にするにはコマンドM-x global-cwarn-mode、または変数global-cwarn-modeをカスタマイズします。これが機能するためには、Font Lockモードも有効にしなければなりません。

M-x hide-ifdef-mode

Hide-ifdefマイナーモードは、プリプロセッサーブロック‘#if’および‘#ifdef’の中の選択されたコードを隠します。変数hide-ifdef-shadowtに変更した場合、Hide-ifdefマイナーモードははプリプロセッサーブロックを隠すかわりに、より目立たないフェイスでそれらのブロックをshadowします。詳細は、hide-ifdef-modeのドキュメント文字列を参照してください。

カレントバッファーでvisitされたファイルに関連するファイルを、特別な方法で検索します。通常これはC/C++ソースファイルにたいするヘッダーファイル、またはその逆です。変数ff-related-file-alistは、関連するファイル名をどのように計算するかを指定します。