Next: , Up: Comments   [Contents][Index]


26.5.1 コメントコマンド

以下のコマンドは、コメントにたいして処理を行います:

M-;

カレント行にコメントを挿入、または位置揃えします。リージョンがアクティブのときは、かわりにリージョンをコメント化、または非コメント化します(comment-dwim)。

C-u M-;

カレント行のコメントをkillします(comment-kill)。

C-x ;

コメント列をセットします(comment-set-column)。

C-M-j
M-j

RETの後にコメントを挿入して位置揃えします(comment-indent-new-line)。Multi-Line Commentsを参照してください。

M-x comment-region
C-c C-c (C-likeなモードの場合)

リージョンのすべての行にたいして、コメント区切りを追加します。

コメントを挿入または位置揃えするコマンドは、M-; (comment-dwim)です。単語“dwim”は、“Do What I Mean(私が言ったとおりにしてください)”の頭文字をとったものです。このコマンドは、コメントに関係する多くの異なる作業に使用できます。それは、このコマンドをどこで使うかという、状況に依存することを示します。

リージョンがアクティブ(Markを参照してください)の場合、M-;はリージョンのコメント区切りの追加と削除のどちらかを行います。リージョンの各行がすでにコメントの場合、それらのコメント区切りを削除することにより、それらの行を“非コメント化”します。そうでない場合は、リージョンのテキストにコメント区切りを追加します。

リージョンがアクティブのときにM-;に数引数を与えると、それは追加または削除するコメント区切りの数を指定します。正の引数nn個の区切りを追加し、負の引数-nn個の区切りを削除します。

リージョンが非アクティブで、カレント行にコメントがない場合、M-;はカレント行に新しいコメントを追加します。ブランク行(たとえば空または空白文字しか含まない)の場合、TABをタイプしたときにインデントされるのと同じ位置に、コメントがインデントされます(Basic Indentを参照してください)。非ブランク行の場合、コメントはその行の最後の非空白文字の後ろに配されます。通常Emacsは変数comment-column (Options for Commentsを参照してください)で指定された列にコメントを配そうと試みますが、行が既にその列を越えている場合、コマンドはコメントを適切な位置 — 通常、非コメントのテキストと1つのスペースを空けてコメントを配します。どちらの場合も、Emacsはコメントの開始区切りの後ろにポイントを配すので、すぐにコメントのタイプを開始できます。

既存のコメントの位置揃えにもM-;を使用できます。行がすでにコメント開始文字列を含む場合、M-;は慣習的な位置にそれを位置揃えして、ポイントをコメント開始区切りの後ろに移動します。例外として、列0で始まるコメントは移動されません。既存のコメントがすでに正しく位置揃えされているときでも、M-;はコメントテキストの開始に直接移動するので有用です。

C-u M-; (comment-dwimにプレフィクス引数を指定)は、カレント行の任意のコメントを、それの前の空白文字と一緒にkillします。コメントはkillリングに保存されるので、他の行の行末に移動してC-yで挿入して、M-;でコメントの位置揃えをすることができます。M-x comment-killとタイプしてもC-u M-;と同じ効果を得ることができます(comment-dwimはプレフィクス引数を与えられたとき、実際にサブルーチンとしてcomment-killを呼び出します)。

コマンドM-x comment-regionは、アクティブなリージョンにたいしてM-;を呼び出すのと等価ですが、このコマンドはマークが非アクティブのときでも、常にリージョンにたいして動作します。Cモードおよび関連するモードでは、このコマンドはC-c C-cにバインドされています。コマンドM-x uncomment-regionは、リージョンの各行を非コメント化します。数引数は、削除するコメント区切りの数を指定します(負の引数は、追加するコメント区切りの数を指定します)。

C-likeなモードにたいしては、変数c-indent-comment-alistおよびc-indent-comments-syntactically-pをセットすることにより、M-;の正確な効果を設定できます。たとえば閉じ大カッコで終わる行では、M-;comment-columnではなく、大カッコの後ろにスペースを1つ空けてコメントを配します。完全な詳細は、Comment Commands in The CC Mode Manualを参照してください。