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


15.21 カーソルの表示

テキスト端末では、カーソルの外見は端末により制御され、大部分はEmacsの制御が及びません。いくつかの端末は、普通の固定的なカーソルと、目立つ点滅カーソルの2種類を提供します。デフォルトではEmacsは目立つカーソルを使い、Emacsを開始または再開したときは、そのカーソルに切り替えます。変数visible-cursornilの場合、Emacsを開始または再開したとき、普通のカーソルを使います。

グラフィカルなディスプレイでは、より多くのテキストカーソルのプロパティを変更できます。カラーを変えるには、フェイスcursorの、属性:backgroundを変更します(このフェイスの他の属性には、何を指定しても効果はありません。カーソルの下にあるテキストはフレームのバックグラウンドカラーを使って描画されます)。外見を変更するには、バッファーローカルな変数cursor-typeをカスタマイズします。有効な値はbox (デフォルト)、 (box . size) (いずれかの次元においてsizeピクセルより大なマスクされたイメージ下で中抜きのボックスになるボックスカーソル)、hollow (中抜きのボックス)、bar (垂直のバー)、(bar . n) (幅がnピクセルの垂直バー), hbar (水平バー)、(hbar . n) (高さがnピクセルの水平バー)、またはnil (カーソルなし)です。

デフォルトでは、カーソルは10回点滅する間にEmacsに何も入力がないと、点滅をストップします。そして何らかの入力イベントがあると、また0からカウントを再開します。変数blink-cursor-blinksをカスタマイズして、これを制御できます。変数の値には、何の入力もないとき点滅をストップする点滅回数を指定します。変数に0または負の値をセットすると、カーソルはずっと点滅したままになります。カーソルの点滅を無効にするには、変数blink-cursor-modenilに変更するか(Easy Customizationインターフェースを参照してください)、initファイルに以下の行を追加します:

  (blink-cursor-mode 0)

リスト変数blink-cursor-alistをカスタマイズして、カーソルが点滅をストップしたとき、どのように見えるかを変更できます。リストの各要素は、(on-type . off-type)という形式を指定します。on-typeには、点滅しているときのカーソルを指定します(on-typeには、上で説明したカーソルタイプを指定します)。そしてoff-typeには、点滅していないときのカーソルを指定します。

タブ文字のように、特別に幅が広い文字もあります。そのような文字上にカーソルがあるとき、通常はデフォルトの文字幅で描画されます。カーソルを文字幅に伸ばすには、変数x-stretch-cursorを非nil値に変更してください。

選択されていないウィンドウのカーソルは、通常点滅していない中抜きのボックスで表示されます(カーソルにバーを使っている場合、より細いバーで表示されます)。選択されていないウィンドウでカーソルを非表示にするには、変数cursor-in-non-selected-windowsnilに変更してください。

カーソルをよりはっきりと表示させるために、HL Lineモードを使用できます。このモードでは、ポイントを含む行がハイライトされます。現在のバッファーで有効または無効にするには、M-x hl-line-modeを使います。このモードをグローバルに有効または無効にするには、M-x global-hl-line-modeを使用してください。