Next: , Previous: , Up: ディスプレイの制御   [Contents][Index]


15.13 Font Lockモード

Font Lockモードはマイナーモードで、常に特定のバッファーにローカルで、バッファーのテキストにフェイスを割り当てます(またはフォント表示化(fontifies)します)。各バッファーのメジャーモードは、Font Lockモードにどのテキストをフォント表示可するか指示します。たとえばプログラム言語のモードは、コメントや文字列、関数名のような、構文に関連する構成をフォント表示化します。

Font Lockモードは、それをサポートするメジャーモードでは、デフォルトで有効になっています。カレントバッファーでこれを切り替えるには、M-x font-lock-modeとタイプします。正の数引数は無条件にFont Lockモードを有効にし、負または0の数引数を指定すると無効になります。

M-x global-font-lock-modeとタイプすると、すべてのバッファーでFont Lockモードを切り替えます。このセッティングを将来のEmacsセッションに引き継ぐには、変数global-font-lock-modeをカスタマイズ(Easy Customizationインターフェースを参照してください)するか、以下の行をinitファイルに追加します。

(global-font-lock-mode 0)

Global Font Lockモードを無効にしていたとしても、モードフック(mode hooks)に関数を追加することにより、特定のメジャーモードでFont Lockモードを有効にできます。たとえばCファイルの編集でFont Lockモードを有効にするには、以下のように記述します:

(add-hook 'c-mode-hook 'font-lock-mode)

Font Lockモードは、font-lock-string-facefont-lock-comment-faceのような、いくつかの特別な名前のフェイスを使って処理を行います。これらすべてを簡単に探す方法には、M-x customize-group RET font-lock-faces RETを使います。それからカスタマイズバッファーでそれらのフェイスの外見をカスタマイズできます。フェイスのカスタマイズを参照してください。

非常に大きいバッファーのフォント表示化には、長い時間を要することもあります。ファイルをvisitしたとき大きな遅延を避けるには、Emacsが最初はバッファーの表示された部分だけをフォント表示化するようにします。バッファーをスクロールすると、新たに表示される部分がフォント表示化されます。このタイプのFont Lockは、Just-In-Time(またはJIT) Lockと呼ばれます。カスタマイズグループ‘jit-lock’の値をカスタマイズすることにより、アイドル状態のときにフォント表示可を行うことも含めて、JIT Lockがどのように振る舞うか制御できます。特定のアイテムのカスタマイズを参照してください。

バッファーのどの部分のテキストをフォント表示するか、そしてどのフェイスを使用するかをメジャーモードが判断するために用いるのは、異なる複数のテキスト分析手法にもとづく情報かもしれません: