Highlight Changesモードは、最近変更されたバッファー部分のテキストに、異なるフェイスを与えることによりハイライトするマイナーモードです。Highlight Changesモードを有効または無効にするには、M-x highlight-changes-modeを使います。
Hi
Lockモードは、指定した正規表現にマッチするテキストをハイライトする、マイナーモードです。たとえば、プログラムのソースファイルで、特定の変数へのすべての参照をハイライトしたり、何らかのプログラムの大量の出力の一部をハイライトしたり、記事中の特定の名前をハイライトするために使用できます。Hi
Lockモードを有効または無効にするには、コマンドM-x hi-lock-modeを使います。すべてのバッファーでHi
Lockモードを有効にするには、M-x
global-hi-lock-modeを使うか、.emacsファイルに(global-hi-lock-mode
1)
と記述してください。
Hi LockモードはFont Lockモード(Font Lockを参照してください)と同じように動作しますが、ハイライトするパターンを明示的に正規表現で指定します。これらは以下のコマンドで制御できます(C-x wで始まるキーバインドは、M-s hで始まるグローバルなバインドが優先されるため推奨されておらず、将来のEmacsのバージョンで廃止されるでしょう)。
regexpにマッチするテキストを、フェイスfaceを使ってハイライトします(highlight-regexp
)。ハイライトはバッファーがロードされている限り残ります。たとえば単語“whim”をデフォルトのフェイス(黄色いバックグラウンドカラー)でハイライトするには、M-s
h r whim RET RETとタイプします。ハイライトには任意のフェイスを使うことができますが、Hi
Lockモードはモード自身でいくつかのフェイスを提供しており、それらはデフォルト値のリストに事前ロードされています。フェイスの入力プロンプトでM-nとM-pを使うことにより、それらを巡回することができます。
オプションhi-lock-auto-select-face
に非nil
値をセットすることにより、このコマンド(およびその他のフェイスを読みとるHi
Lockコマンド)は、入力を求めることなく、デフォルト値のリストから次のフェイスを自動的に選択します。
このコマンドを複数回使用して、さまざまな正規表現を指定し、それぞれを異なる方法でハイライトできます。
regexpのハイライトを解除します(unhighlight-regexp
)。メニューから呼び出した場合、ハイライト解除する正規表現をリストから選択します。キーボードから呼び出した場合は、ミニバッファーを使います。一番最近追加された正規表現を表示し、M-nを使って次に古い正規表現、M-pで次に新しい正規表現を表示できます(手入力もでき、その場合は補完機能つきです)。ハイライト解除したい正規表現がミニバッファーに表示されたら、RETを押してミニバッファーを抜けだし、ハイライトを解除できます。
regexpとのマッチを含む行全体を、フェイスfaceを使ってハイライトします(highlight-lines-matching-regexp
)。
phraseにマッチするフレーズを、フェイスfaceでハイライトします(highlight-phrase
)。phraseには正規表現を指定できますが、スペースは空白文字にマッチする正規表現に置き換えられます。また、先頭に小文字を使用することにより、大文字小文字を区別しなくなります。
ポイントの近くで見つかったシンボルを、次に利用可能なフェイスでハイライトします(highlight-symbol-at-point
)。
現在ハイライトを行っている正規表現/フェイスのペアを、バッファーのポイント位置に挿入します。挿入はプログラムを変更してしまわないように、コメント文字列でコメント化されます(このキーバインドはhi-lock-write-interactive-patterns
コマンドを実行します)。
これらのパターンは、コメントからも逆抽出されます。それは、コメントに記述されたテキストが適正で、M-x
hi-lock-find-patternsを呼び出した、あるいはHi
Lockモードが有効なときファイルをvisit(これはhi-lock-find-patterns
を実行します)したときです。
正規表現/フェイスのペアを、現在のバッファーのコメントから抽出します(hi-lock-find-patterns
)。これらのコマンドを使えば、highlight-regexp
でパターンを対話的に入力、hi-lock-write-interactive-patterns
でそれをファイルに保存、それらを編集(あるマッチのフェイスを別のフェイスにしたり)、そして最後にこのコマンド(hi-lock-find-patterns
)で編集済みのパターンを、Hi
Lockのハイライトに適用することができます。
変数hi-lock-file-patterns-policy
はファイルをvisitしたとき、Hi
Lockモードがパターンを探して、それを自動的に抽出するべきかを制御します。値にはnil
(ハイライトしない)、ask
(ユーザーに尋ねる)、または関数を指定します。関数の場合、hi-lock-find-patterns
はパターンを引数としてその関数を呼び出します。関数が非nil
を返した場合、パターンを使用します。デフォルトはask
です。直接hi-lock-find-patterns
を呼び出した場合、この変数の値に関係なく、常にパターンはハイライトされることに注意してください。
現在のメジャーモードのシンボルが、リストhi-lock-exclude-modes
のメンバーの場合、hi-lock-find-patterns
は何もしません。