[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

A. コマンド行引数

GNU Emacsでは, コマンド行引数によりEmacs起動時にさまざまな動作を指定できます. これらは他のエディタとの互換性のためや 洗練されたふるまいを担うものです. 通常の編集作業にはそれらを使うことはお勧めしません.

-’で始まる引数はオプション(option)です. それ以外の引数は訪れるべきファイルを指定します. Emacsは, 起動すると指定したファイルを読み込みます. コマンド行のいちばん最後のファイル名がカレントバッファとなりますが, それ以外のファイルも別々のバッファに入っています. 他のGNUのコマンドと同様に, 特殊な引数‘--’は, これよりあとの引数が‘-’で始まっている場合でも, すべてファイル名であることを指定します.

Emacsのコマンドオプションでは, Emacsが使用するXのウィンドウのサイズや位置, 表示色などの さまざまなことを指定できます. バッチモードでLisp関数を実行するなどの進んだ利用のための オプションも若干あります. ここでは, 目的別に利用可能なオプションを説明します.

オプションの書き方は2通りあります. 1文字の‘-’で始まる短い形式と, ‘--’で始まる長い形式です. たとえば, ‘-d’は短い形式であり, ‘--display’はこれに対応した長い形式です.

--’で始まる長い形式のほうが覚えやすいですが, 打ち込むのは面倒です. しかし, オプション名を完全にすべて入力する必要はありません. 曖昧でないように省略すれば十分です. 長いオプションが引数をとる場合には, オプション名と引数のあいだに空白か等号を置きます. つまり, ‘--display sugar-bombs:0.0’と書くか, ‘--display=sugar-bombs:0.0’と書きます. 関係が明瞭になることもあり, 以下の例でもつねに等号を使っていますので, 等号を使うようお勧めします.

ほとんどのオプションは, Emacsをどう初期化するか, あるいは, Emacsセッションのパラメータをどう設定するか指示します. これらを初期化オプション(initial options)と呼びます. 動作を指定するオプションもいくつかあります. たとえば, ライブラリをロードする, 関数を呼び出す, Emacsを終了するなどです. これらを動作オプション(action options)と呼びます. これらとファイル名をあわせて動作引数(action arguments)と呼びます. Emacsはすべての動作引数を書かれた順に処理します.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

A.1 動作引数

以下は, 動作引数とオプションとその引数の一覧です.

file

find-fileを使ってファイルfileを訪れる. see section ファイルを訪問する.

+linenum file

find-fileを使ってファイルfileを訪れ, その中の行番号linenumの行に移動する.

-l file
--load=file

関数loadを使ってfileという名前のLispライブラリをロードする. see section Emacs用のLispコードのライブラリ. ライブラリは, カレントディレクトリか EMACSLOADPATH(see section 一般的な変数)で指定された Emacsのライブラリ探索パスから探す.

-f function
--funcall=function

引数なしでLisp関数functionを呼び出す.

--eval expression

Lisp式expressionを評価する.

--insert=file

ファイルfileの内容をカレントバッファに挿入する. これはM-x insert-fileと同じ動作. see section その他のファイル操作.

--kill

問い合わせずにEmacsを終了する.

初期化ファイルでは, 変数command-line-args内のリストの要素として 動作引数の値を参照できます. 初期化ファイルでは, この変数を読んだり設定することで, 動作引数の通常の処理を無効にしたり新たなものを定義したりできます.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

A.2 初期化オプション

初期化オプションはEmacsセッションのパラメータを指定します. ここでは, より一般的な初期化オプションを説明します. Xウィンドウシステムに関連する他のオプションはこのあとの節にあります.

初期化ファイルのロードに影響する初期化オプションもあります. Emacsの通常の動作は, まず‘site-start.el’(が存在すればそれ)をロードし, 続いて個人用の‘~/.emacs’(が存在すればそれ)をロードし, 最後に‘default.el’(が存在すればそれ)をロードします. これらのファイルのロードを抑制したり, 代替ファイルを指定するオプションがあります.

-t device
--terminal=device

入出力端末装置としてdeviceを使う.

-d display
--display=display

Xウィンドウシステムを用い, ディスプレイ名displayのディスプレイに Emacsの初期フレームを開く.

-nw
--no-windows

環境変数DISPLAYが設定されている場合でもそれを無視し, Xとは直接通信しない.

-batch
--batch

Emacsをバッチモードで実行する. つまり, 編集中のテキストを表示せずに, C-zC-cなどの標準の端末割り込み文字は通常の効果をもつ. バッチモードのEmacsでは, プログラムの制御に従って 通常エコー領域に表示されるもののみをstderrへ出力する.

バッチモードは, シェルスクリプトやmakefileなどからEmacs Lispで書いたプログラムを 実行するために使う. バッチ処理を行うLispプログラムを起動するために, 通常, オプション‘-l’や‘-f’も使われる.

-batch’は, (初期化ファイルをロードしない)‘-q’を含む. また, すべてのコマンドオプションを処理し終えるとEamcsは終了する. さらに, 明示的に指定しない限りバッファを自動的に保存しない.

-q
--no-init-file

個人の初期化ファイル‘~/.emacs’も‘default.el’もロードしない.

--no-site-file

site-start.el’をロードしない. オプション, ‘-q’, ‘-u’, ‘-batch’は, このファイルのロードには影響しない. ファイル‘site-start.el’のロードを抑止する唯一のオプションである.

-u user
--user=user

自分の初期化ファイルのかわりに ユーザーuserのEmacs初期化ファイル‘~user/.emacs’をロードする.

--debug-init

初期化ファイル内でのエラーに対しEmacs Lispデバッガを利用可能にする.

--unibyte

ユニバイトバッファやユニバイト文字列を使うようにすべてを設定する. ユーザー(やLispプログラム)がマルチバイトバッファやマルチバイト文字列の使用を 明示しない限り, すべてのバッファや文字列はユニバイトである. 環境変数EMACS_UNIBYTEを設定しても同じ効果になる.

--multibyte

EMACS_UNIBYTEの効果を禁止し, 通常のように, Emacsはデフォルトでマルチバイト文字を使う.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

A.3 コマンド引数の例

以下は, 引数やオプションを指定したEmacsの使用例です. ファイル‘hack-c.el’にはLispプログラムが入っているものとします. これをロードすると, Cのプログラムを内容とするカレントバッファに対して なんらかの有用な操作を行うものとします.

 
emacs -batch foo.c -l hack-c -f save-buffer >& log

この意味は, ‘foo.c’を訪れ, (訪れたファイルを変更する)‘hack-c.el’をロードし, ‘foo.c’に保存し (save-bufferC-x C-sにバインドされた関数), (‘-batch’があるので)終了してシェルへ戻ります. また, ‘-batch’によりEmacsは表示端末を利用できないと仮定するので, 出力を‘log’へリダイレクトしても問題ないことが保証されます.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

A.4 引数を指定したEmacsの再開

Emacsをいったん休止したあとで再開するときには動作引数を指定できます. その準備として, 個人の‘.emacs’につぎのコードを入れておきます(see section フック).

 
(add-hook 'suspend-hook 'resume-suspend-hook)
(add-hook 'suspend-resume-hook 'resume-process-args)

さらに, (cshを使っているなら)シェルスクリプト‘emacs.csh’か, (bashを使っているなら)‘emacs.bash’を実行する必要があります. これらのスクリプトはeditという別名(エイリアス)を定義します. この別名は, 訪れるべきファイルなどのコマンド行引数を新たに与えて Emacsを(休止状態から)再開します.

Emacsを再開する場合には動作引数しか使えません. 初期化引数は認識されません. なぜなら, 初期化を行うには遅すぎるのです.

(引数の有無に関わらず) Emacsの再開はEmacsジョブの親であるシェルから行う必要があります. editが, プログラムやシェルスクリプトではなく, 別名であるのはこのためです. シェルの別のサブジョブから実行できる再開コマンドを実現することは不可能です. たとえば, 環境変数EDITORの値に指定できる コマンドを定義する方法はありません. したがって, この機能でEmacsサーバーの機能(see section Emacsをサーバーとして使う)を 置き換えることはできません.

別名editは, Emacsサーバーが稼働中ならEmacsサーバーの機能を使います. しかし, このことを完全に正確に調べる方法はありません. 実際にはEmacsが終了していても, ファイル‘/tmp/.esrv…’が存在すると サーバーが稼働中であると誤認してしまいます. そのような場合には, そのファイルを探して削除してください.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

A.5 環境変数

ここでは, Emacsがどうのように環境変数を使うか説明します. 環境変数とは, オペレーティングシステムからEmacsへ渡される文字列であり, 環境変数の集まりが環境です. 環境変数名では大文字小文字を区別し大文字だけを使う習慣があります.

環境変数はオペレーティングシステムが与えるものなので, それらを設定する一般的な方法はありません. 設定方法は, オペレーティングシステム, 特に, 使用するシェルに依存します. たとえば, bashを使って環境変数ORGANIZATIONに ‘not very much’を設定するにはつぎのようにします.

 
export ORGANIZATION="not very much"

cshやtcshの場合にはつぎのようにします.

 
setenv ORGANIZATION "not very much"

EmacsがXウィンドウシステムを使うようになっている場合には, EmacsはXライブラリから非常に多数の環境変数を受け継ぎます. 詳しくはXのドキュメントを参照してください.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

A.5.1 一般的な変数

AUTHORCOPY

GNUSパッケージで投稿したニュース記事の保管用ファイルの名前.

CDPATH

相対ディレクトリ名を指定したときに, そのディレクトリを探索するためにcdコマンドが使う.

DOMAINNAME

Emacsが動いているマシンが属するInternetのドメイン名. GNUSパッケージが使う.

EMACS_UNIBYTE

この環境変数を定義すると, Emacsはユニバイトバッファやユニバイト文字列を使うようにすべてを設定する. 起動時に, 毎回, コマンド行オプション‘--unibyte’を使うのと等価である. see section 初期化オプション.

EMACSDATA

Emacsに付属の機種独立なファイルを探すために使う 変数data-direcotryの初期化に用いる. Emacs作成時の‘paths.h’での設定に優先する.

EMACSLOADPATH

ロードすべきEmacs Lispファイルを探索するディレクトリをコロンで区切った並び. Emacs作成時の‘paths.h’での設定に優先する.

EMACSLOCKDIR

複数のユーザーが同じファイルを同時に編集するの防ぐために用いる ロックファイルを置くディレクトリ. Emacs作成時の‘paths.h’での設定に優先する.

EMACSPATH

Emacsに特有のバイナリファイルを置く場所. Emacs作成時の‘paths.h’での設定に優先する.

ESHELL

シェル(shell)モードで使い, 環境変数SHELLの設定に優先する.

HISTFILE

ログインとつぎのログインのあいだでシェルコマンドを保存しておくファイルの名前. この変数のデフォルトは, シェルとしてcshやtcshを使う場合は‘~/.history’, bashの場合は‘~/.bash_history’, kshの場合は‘~/.sh_history’, その他の場合には‘~/.history’である.

HOME

ディレクトリ木構造上でのユーザーのファイルの置き場所. ティルダ(‘~’)で始まるファイル名の展開に使われる. MS-DOSでは, Emacsが起動されたディレクトリがデフォルトであるが, ‘/bin’で終る場合には‘/bin’は取り除く.

HOSTNAME

Emacsが動いているマシンの名前.

INCPATH

コロンで区切ったディレクトリの並び. completeパッケージがファイルを探すために使う.

INFOPATH

infoファイルを収めたディレクトリをコロンで区切った並び. Emacs作成時の‘paths.h’での設定に優先する.

LANG
LC_ALL
LC_CTYPE

ユーザーの好みのローケル. ローケル名に, nを1から4として, ‘8859-n’, ‘8859_n’, ‘8859n’が 含まれると, 自動的に‘Latin-n’をEmacs起動時の言語環境に指定する. nが9であると‘Latin-5’を指定する.

LOGNAME

ユーザーのログイン名. USERも参照.

MAIL

ユーザーのシステムメイルスプールの名前.

MAILRC

メイルの別名を収めたファイルの名前. デフォルトは‘~/.mailrc’.

MH

mhシステムの設定ファイルの名前. デフォルトは‘~/.mh_profile’.

NAME

ユーザーの実世界での名前.

NNTPSERVER

ニュースサーバーの名前. mhやGNUSパッケージで用いる.

ORGANIZATION

読者が所属している組織の名前. GNUSパッケージで投稿する記事のヘッダ「Organization:」の設定に使う.

PATH

実行ファイルを置いたディレクトリをコロンで区切った並び. (MS-DOSではセミコロンで区切る. ) この変数はEmacs Lispの変数exec-pathの設定に使われる. Emacsの中ではこのLisp変数の値を使うことになる.

PWD

設定すると, Emacs起動時のデフォルトディレクトリになる.

REPLYTO

設定すると, 変数mail-default-reply-toの初期値を指定する. see section メイルヘッダフィールド.

SAVEDIR

ニュース記事を保存するデフォルトのディレクトリ名. GNUSパッケージが使う.

SHELL

Emacs内から起動するプログラムの解析や実行に用いるインタープリタの名前.

TERM

Emacsが動いている端末の名前. バッチモードでの実行でなければこの変数を設定する必要がある. MS-DOSではデフォルトは‘internal’であり, マシン固有の画面を扱う内蔵の端末エミュレータを意味する.

TERMCAP

変数TERMで指定した端末をどのように制御するか記述した termcapライブラリファイルの名前. デフォルトは‘/etc/termcap’.

TMPDIR

Emergeパッケージが使い, 作業用ファイルの接頭辞.

TZ

現在のタイムゾーン(時刻帯)を指定し必要なら夏時間も指定する. MS-DOSではデフォルトは国別コードに基づく. 詳しくはファイル‘msdos.c’を参照.

USER

ユーザーのログイン名. LOGNAMEも参照. MS-DOSではデフォルトは‘root’.

VERSION_CONTROL

変数version-control(see section 単一バックアップファイルと番号付きバックアップファイル)の初期化に使う.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

A.5.2 その他の変数

これらの変数は特定の場合に限って使われます.

COMSPEC

MS-DOSにおいて, 使用するコマンドインタープリタの名前. 環境変数SHELLのデフォルト値になる.

NAME

MS-DOSにおいて, この変数は変数USERのデフォルト値になる.

TEMP
TMP

MS-DOSにおいて, 作業用ファイルを置くディレクトリの名前を指定する.

EMACSTEST

MS-DOSにおいて, 内蔵の端末エミュレータの動作を記録するために使うファイルを指定する. この機能はバグレポートを提出するときに有益である.

EMACSCOLORS

MS-DOSシステムにおいて, スクリーンの初期表示色を設定して Emacs起動時に瞬間的にデフォルトの表示色が閃かないようにする. この変数の値は, デフォルトのフェイスの (1文字目で)前景色と(2文字目で)背景色を符号化した2文字であること. それぞれの文字は, 標準的なPCのテキストモード画面の表示色を 表す16進符号であること.

PCの画面では, 通常, 8色の背景色しか扱えない. しかし, EmacsはDOSの画面を16色の背景色のモードに切り替えるので, 背景色の下位4bitすべてが実際に使われる.

WINDOW_GFX

Sunのウィンドウシステムを初期化するときに使う.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

A.6 ディスプレイ名の指定

環境変数DISPLAYは, Emacsを含むすべてのXクライアントに ウィンドウをどこに表示するかを教えます. 普通の状況では, Xサーバーを起動してローカルでジョブを走らせると, この変数の値はデフォルトで設定されます. 場合によっては, 自分でディスプレイを指定する必要があるでしょう. たとえば, リモートログインしてリモート側でクライアントプログラムを実行し, 表示はローカルの画面にする場合です.

Emacsを使う場合, デフォルトのディスプレイを変更する主な理由は, 他のシステムにログインしてそのシステム上でEmacsを実行し, ウィンドウはローカルの画面に表示するためです. 他のシステムにログインするのは, そのシステム上に編集したいファイルがあるか, あるいは, 実行したいEmacsの実行ファイルがそのシステムにあるからでしょう.

環境変数DISPLAYの書式は ‘host:display.screen’です. hostはXウィンドウシステムのサーバーマシンの名前, displayは同じマシンの別のサーバーと読者のサーバー(X端末)を 区別するために任意に割り振られた番号, screenは稀にしか使いませんが 1つのXサーバーで複数の端末画面を制御する場合に使います. ピリオドとscreenは省いてかまいません. 指定する場合, screenは普通はゼロです.

たとえば, 読者のホストの名前は‘glasperle’であり, 読者のサーバーは使用できるサーバーのうちで最初(でたぶん唯一)のもので あるとすれば, DISPLAYは‘glasperle:0.0’となります.

Emacsを実行するときに明示的にディスプレイ名を指定できます. 変数DISPLAYを変更する, あるいは, オプションの‘-d display’や ‘--display=display’を指定します. たとえばつぎのようにします

 
emacs --display=glasperle:0 &

オプション‘-nw’を指定するとXを直接使用することを禁止できます. これも初期化オプションです. Emacsに対して制御端末に通常のASCII文字を表示するように指示します.

セキュリティの設定によっては, リモートシステムのプログラムから 読者のローカルのシステムに表示するのが禁止されます. この場合, Emacsを走らせるとつぎのようなメッセージが出力されます.

 
Xlib:  connection to "glasperle:0.0" refused by server

この問題は, xhostコマンド (61) を用いて, ローカルマシンにリモートシステムからのアクセス許可を 与えれば解決できます.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

A.7 フォント指定オプション

デフォルトでは, Emacsは‘9x15’という名前のフォントでテキストを表示します. この場合, 各文字の幅は9ピクセル, 高さは15ピクセルです. コマンド行のオプション‘-fn name’で別のフォントを指定できます.

-fn name

デフォルトのフォントとしてフォントnameを使う.

--font=name

--font’は, ‘-fn’の別名.

Xにおいては, 各フォントは ダッシュで区切った11個の単語や数字からなる長い名前を持ちます. 短い愛称を持つフォントもあり, ‘9x15’はそのような愛称です. どちらの名前を用いてもかまいません. フォント名にはワイルドカードパターンを使えますが, その場合には, EmacsはXにパターンに一致するフォントを1つ選ばせます. 以下の例は, ‘6x13’という愛称を持つフォントを指定することになります.

 
emacs -fn "-misc-fixed-medium-r-semicondensed--13-*-*-*-c-60-iso8859-1" &

個人のファイル‘.Xdefaults’でもフォントを指定できます.

 
emacs.font: -misc-fixed-medium-r-semicondensed--13-*-*-*-c-60-iso8859-1

長いフォント名はつぎのような形式です.

 
-maker-family-weight-slant-widthtype-style…
…-pixels-height-horiz-vert-spacing-width-charset
family

フォントファミリ名. たとえば‘courier’.

weight

通常, ‘bold’, ‘medium’, ‘light’のいずれか. フォントによっては他の単語もありえる.

slant

r’(roman), ‘i’(italic), ‘o’(oblique), ‘ri’(reverse italic), ‘ot’(other)のいずれか.

widthtype

通常, ‘condensed’, ‘extended’, ‘semicondensed’, ‘normal’のいずれか. フォントによっては他の単語もありえる.

style

付加的な書体名. この部分は普通は空であり, ほとんどの長いファイル名では2つのハイフンである.

pixels

ピクセル単位でのフォントの高さ.

height

印刷機の「ポイント」の1/10(約1/720インチ)を 単位とした画面上でのフォントの高さ. いいかえれば, フォントのポイントサイズの10倍. 垂直解像度を指定すれば, heightpixelsは比例する. したがって, どちらか一方を指定して他方には‘*’を用いるのが一般的である.

horiz

フォントが仮定するインチあたりのピクセル数で表した画面の水平解像度.

vert

フォントが仮定するインチあたりのドット数で表した画面の垂直解像度. 通常, 読者のシステムのフォントの解像度は読者の画面に適しているはずなので, これとhorizには普通は‘*’を指定する.

spacing

m’(monospace), ‘p’(proportional), ‘c’(character cell)のいずれか. Emacsでは‘m’と‘c’のフォントを利用できる.

width

ピクセル単位で表した文字の平均幅の10倍.

charset

フォントの描く文字集合. 通常は‘iso8859-1’を使うであろう. (62)

固定幅フォント, つまり, すべての文字が同じ幅のフォントだけを使ってください. Emacsはまだ可変幅のフォントを正しく表示できません. 長いフォント名のspacing欄が‘m’や‘c’のフォントは 固定幅フォントです. 読者のシステムで利用可能な固定幅フォントをすべて表示するには, プログラムxlsfotnsを用いてつぎのようにします.

 
xlsfonts -fn '*x*' | egrep "^[0-9]+x[0-9]+"
xlsfonts -fn '*-*-*-*-*-*-*-*-*-*-*-m*'
xlsfonts -fn '*-*-*-*-*-*-*-*-*-*-*-c*'

特定のフォントの字形を見るにはコマンドxfdを使います. たとえば,

 
xfd -fn 6x13

とするとフォント‘6x13’全体を表示します.

Emacsが動作中のときは, カレントフレーム(see section フレームパラメータの設定), あるいは, 特定の種類のテキスト(see section 複数タイプフェイスの利用)のフォントを設定できます.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

A.8 ウィンドウ表示色オプション

カラーディスプレイでは, Emacsの表示画面のさまざまな部分に 使う表示色を指定できます. システムで利用可能な表示色を調べるには ファイル‘/usr/lib/X11/rgb.txt(63)を見ます. 表示色を指定しないと, 背景色のデフォルトは白, それ以外の表示色のデフォルトは黒です. モノクロディスプレイでは, 前景色は黒, 背景色は白, ディスプレイで表示できるなら境界部分は灰色です.

以下は, 表示色を指定するオプションの一覧です.

-fg color
--foreground-color=color

前景色を指定する.

-bg color
--background-color=color

背景色を指定する.

-bd color
--border-color=color

Xのウィンドウの境界部分の表示色を指定する.

-cr color
--cursor-color=color

ポイント位置を表すEmacsのカーソルの表示色を指定する.

-ms color
--mouse-color=color

マウスがEmacsのウィンドウ内にあるときのマウスカーソルの表示色を指定する.

-r
--reverse-video

反転表示する. 背景色と前景色を入れ替える.

たとえば, 珊瑚色のマウスカーソルと青石板色のテキストカーソルを用いるには, つぎのように入力します.

 
emacs -ms coral -cr 'slate blue' &

オプション‘-r’かXリソースの‘reverseVideo’で 前景色と背景色を入れ替えられます.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

A.9 ウィンドウジオメトリオプション

オプション‘-geometry’は, Emacsの初期フレームのサイズと位置を制御します. ウィンドウのジオメトリ(サイズと位置)を指定する書式はつぎのとおりです.

-g widthxheight{+-}xoffset{+-}yoffset

widthheightでウィンドウの(文字の桁数と行数で数えた)サイズを, xoffsetyoffsetで(ピクセル単位で)位置を指定する.

--geometry=widthxheight{+-}xoffset{+-}yoffset

同じことを記述する別の方法.

{+-}はプラス記号かマイナス記号のいずれかを意味します. xoffsetのまえのプラス記号で画面左端からの距離を, マイナス記号で右端からの距離を意味します. yoffsetのまえのプラス記号で画面上端からの距離を, マイナス記号で下端からの距離を意味します. xoffsetyoffsetの値自体は正でも負でもよいのですが, その意味は変わらずに方向を変えるだけです.

Emacsがジオメトリを解釈する単位は, xtermと同じ単位です. widthheightは文字数で数えますから, 大きなフォントでは小さいフォントよりも大きなフレームになります. xoffsetyoffsetはピクセル単位で数えます.

モード行とエコー領域はフレームの最後の2行を占めるので, 初期のテキストウィンドウの高さは ジオメトリで指定した高さより2だけ小さくなります. Xツールキット版でないEmacsでは, 指定した数からさらに1行をメニューバーに利用します.

ジオメトリ指定のすべての部分を指定する必要はありません.

xoffsetyoffsetの両方を省くと ウィンドウマネージャがEmacsのフレームの位置を決めますが, マウスで置き場所を指定できる場合もあります. たとえば, ‘164x55’は (普通の幅のウィンドウを横に並べて2つ置けるサイズの) 164桁で55行のウィンドウを指定します.

デフォルトではEmacsの幅は80文字で高さは40行です. いずれか一方, あるいは, 両方を省略できます. ジオメトリを数で始めると幅であると解釈します. ‘x’で始まり数が続けば高さであると解釈します. したがって, ‘81’は幅だけを指定し, ‘x45’は高さだけを指定します.

+’か‘-’で始まれば位置指定となり, 幅と高さの両方を省いたことを意味します. したがって, ‘-3’はxoffsetのみを指定します. (位置指定の要素が1つだけの場合にはつねにxoffsetです. ) ‘+3-3’はxoffsetyoffsetを指定し, 画面の左底近くにフレームを置きます.

ファイル‘.Xdefaults’ですべての部分か一部分のデフォルトを指定し, オプション‘--geometry’で特定の部分を上書きできます.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

A.10 内部境界と外部境界

Emacsのフレームには内部境界と外部境界があります. 内部境界はフレームの4辺の周りに付いた背景色の縁取りです. Emacs自身が内部境界を付加します. 外部境界は, 内部境界の外側にウィンドウマネージャが付加します. これには, ウィンドウを移動したりアイコン化するためにクリックできる さまざまな箱が付く場合もあります.

-ib width
--internal-border=width

内部境界の幅としてwidthを指定.

-bw width
--border-width=width

外部境界の幅としてwidthを指定.

フレームのサイズ指定には境界は含みません. フレームの位置は外部境界の外側から測ります.

内部境界の幅をnピクセルにするには, オプション‘-ib n’を使います. デフォルトは1です. 外部境界の幅を指定するには, (ウィンドウマネージャが指定を無視するかもしれませんが) ‘-bw n’を使います. 外部境界のデフォルトの幅は2です.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

A.11 フレームタイトル

Emacsのフレームには, 指定したタイトルがあるかもしれないし, ないかもしれません. フレームタイトルを指定すると, ウィンドウの装飾部分やアイコンにフレーム名として表示されます. Emacsのフレームにタイトルが指定されていなければ, デフォルトのタイトルは, (フレームが1つしかない場合には)実行プログラムの名前, あるいは, (複数のフレームがあれば)選択したウィンドウのバッファの名前になります.

コマンド行オプションでEmacsの初期フレームのタイトルを指定できます.

-title title
--title=title
-T title

Emacsの初期フレームのタイトルとしてtitleを指定する.

オプション‘--name’(see section Xリソース)も Emacsの初期フレームのタイトルを指定します.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

A.12 アイコン

ほとんどのウィンドウマネージャは, フレームを『アイコン化』することを許しています. つまり, フレームを見えなくしてから, その場所に 小さな識別しやすい『アイコン』を置きます. アイコンウィンドウをクリックするとフレーム自体が再度表示されます. 一度にたくさんのクライアントを動かしておく場合, クライアントのほとんどをアイコンにしておけば画面が乱雑にならずにすみます.

-i
--icon-type

Emacsのアイコンとしてヌーの絵を使う.

-iconic
--iconic

Emacsをアイコン化した状態で起動する.

オプション‘-i’や‘--icon-type’は, GNUのヌーの絵を表示したアイコンウィンドウを使う指定です. 省略すると, Emacsは使用するアイコンの種類をウィンドウマネージャに選ばせます. これは, 通常, フレームのタイトルを含んだ小さな長方形のウィンドウです. (64)

オプション‘-iconic’は, すぐにはフレームを開かずに アイコンで始めるようにEmacsを起動します. この場合, アイコンウィンドウはEmacsが起動したことだけを教えてくれます. アイコンを開くまで通常のテキストフレームは表示されません.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

A.13 Xリソース

Xウィンドウシステムで動いているプログラムでは, クラスとリソースの階層によってユーザーのオプションを取りまとめます. これらのオプションのデフォルト値は, ‘~/.Xdefaults’という名前の個人のXリソースファイルで指定できます.

ファイル内の各行は, 1つのオプション, 関連したオプション群, 1つのプログラム, あるいは, 複数(または全部)のプログラムの 値を指定します.

プログラムは特定の意味を持ったリソース名を定義します. リソースをどのようにクラス名にグループ化するかも定義します. たとえば, Emacsでは, リソース‘internalBorder’は内部境界の幅を制御し, リソース‘borderWidth’は外部境界の幅を制御します. どちらのリソースもクラス‘BorderWidth’の一部です. これらの名前では大文字小文字を区別します.

~/.Xdefaults’では, 以下のように1行に1つのリソースを指定します.

 
emacs.borderWidth: 2

あるいは, クラス内のすべてのリソースに同じ値を指定するには クラス名を使います. たとえば, つぎのようにします.

 
emacs.BorderWidth: 2

クラスに値を指定すると, それはそのクラス内のすべてのリソースのデフォルト値になります. 個別にリソースの値を指定することもできます. その場合, 特定のリソースの値はクラスの値に優先します. したがって, つぎの例では, すべての境界のデフォルトの幅として2を指定しますが, 外部境界の値は4になります.

 
emacs.Borderwidth: 2
emacs.borderwidth: 4

ファイル内での行の順番は関係ありません. また, コマンド行オプションはつねにXリソースファイルに優先します.

上の例の文字列‘emacs’もリソース名です. この名前は, Emacsを起動するために指定した実行ファイルの名前を表します. Emacsを別の名前でインストールしたならば, ‘emacs’のかわりにその名前のリソースを探します.

-name name
--name=name

Emacsの初期フレームのリソース名(およびタイトル)としてnameを使う. このオプションは, 初期フレーム以外には影響しないが, Lispプログラムからはフレーム作成時にフレーム名を指定できる.

このオプションを指定しないと, デフォルトではEmacsの実行ファイル名をリソース名として使う.

-xrm resource-values
--xrm=resource-values

EmacsのこのジョブだけのXリソースの値を指定する. (以下を参照).

整合性のために, ‘-name’は, どの特定のフレームにも属さないリソースの値を探すときの名前も指定します.

Emacsを起動するコマンド名と同じ名前のリソースはクラスにも属します. その名前は‘Emacs’です. ‘emacs’のかわりに‘Emacs’と書けば, 実行ファイルの名前やフレームタイトルに関わらず, すべてのEmacsジョブのすべてのフレームにリソースが適用されます. たとえば, つぎのようにします.

 
Emacs.BorderWidth: 2
Emacs.borderWidth: 4

コマンド行オプション‘-xrm resources’を使えば, 追加のリソースの値をEmacsに指定できます. テキストresourcesは, Xリソースファイルの中で使うものと同じ書式です. dataで複数のリソースを指定するには, ファイルの場合と同様に, そのあいだに改行を置きます. また, ‘#include "filename"’を使えば, ファイル内のリソース指定を取り込めます. ‘-xrm’で指定したリソースの値は, これ以外のリソース指定に優先します.

以下は, Emacsのオプションを指定するリソース名とそれが属するクラスの一覧です.

background(クラスBackground

背景の表示色名.

bitmapIcon(クラスBitmapIcon

on’ならば(ヌーの絵の)ビットマップアイコンを使う. ‘off’ならばウィンドウマネージャにアイコンを選ばせる.

borderColor(クラスBorderColor

外部境界の表示色名.

borderWidth(クラスBorderWidth

外部境界の(ピクセル単位の)幅.

cursorColor(クラスForeground

テキストカーソル(ポイント)の表示色名.

font(クラスFont

テキストのフォント名(あるいはフォントセット名 see section フォントセット).

foreground(クラスForeground

テキストの表示色名.

geometry(クラスGeometry

ウィンドウのサイズと位置. Emacsフレームだけでなく個々のメニューにも影響するので, このリソースを‘emacs*geometry’とは指定しないように注意すること.

このリソースで指定した位置は, Emacsの初期フレーム (あるいは, 特定のフレーム名を指定したリソースはそのフレーム) だけに適用される. しかし, サイズはすべてのフレームに適用される.

iconName(クラスTitle

アイコンに表示する名前.

internalBorder(クラスBorderWidth

内部境界の(ピクセル単位の)幅.

menuBar(クラスMenuBar

on’ならばフレームにメニューバーを付ける. ‘off’ならばメニューバーを付けない.

minibuffer(クラスMinibuffer

none’ならばこのフレームにミニバッファを付けない. かわりに, 独立したミニバッファフレームを使う.

paneFont(クラスFont

ツールキット版でないEmacsのメニューのタイトルに使うフォント名.

pointerColor(クラスForeground

マウスカーソルの表示色.

reverseVideo(クラスReverseVideo

on’ならば前景色と背景色を入れ替え, ‘off’ならば指定された表示色を用いる.

verticalScrollBars(クラスScrollBars

on’ならばフレームにスクロールバーを付ける. ‘off’ならばスクロールバーを付けない.

selectionFont(クラスFont

ツールキット版でないEmacsのポップアップメニューの項目に使うフォント名. (ツールキット版では, LucidメニューのXリソース, あるいは, MotifメニューのXリソースを参照. )

title(クラスTitle

Emacsの初期フレームのタイトルバーに表示する名前.

以下は, 特定のフェイス(see section 複数タイプフェイスの利用)の見え方を制御するリソースです.

face.attributeFont

フェイスfaceのフォント.

face.attributeForeground

フェイスfaceの前景色.

face.attributeBackground

フェイスfaceの背景色.

face.attributeUnderline

フェイスfaceの下線フラグ. 下線を使うには‘on’か‘true’を指定する.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

A.14 LucidメニューのXリソース

Lucidメニューウィジェットを含めたXツールキットを使う Emacsがインストールされている場合には, メニューバーは別のウィジェットであり独自のリソースを持ちます. リソース名には (Emacsの起動名かすべてのEmacsの起動を意味する‘Emacs’に続けて) ‘pane.menubar’が含まれます. これらはつぎのように指定します.

 
Emacs.pane.menubar.resource:  value

たとえば, メニューバーの項目に‘8x16’フォントを指定するには, つぎのように書きます.

 
Emacs.pane.menubar.font:  8x16

メニューバーを使わないツールキットのポップアップメニューの項目の リソースには, 同様に, ‘menu*’があります. たとえば, ポップアップメニューに‘8x16’のフォントを指定するには, つぎのように書きます.

 
Emacs.menu*.font:	8x16

対話ボックスのフォントを指定するには, ‘menu’のかわりに‘dialog’を使ってつぎのように書きます.

 
Emacs.dialog*.font:	8x16

経験によれば, ‘pane.menubar’や‘menu*’のまえに ‘shell.’を付ける必要があるシステムもあります. 他のシステムでは‘shell.’を付加してはいけません.

以下は, メニューバーとポップアップメニューのリソースの一覧です.

font

メニュー項目のテキストのフォント.

foreground

前景色.

background

背景色.

buttonForeground

メニューバーにおいて, 選択した項目の前景色.

horizontalSpacing

項目間の横方向のピクセル単位の間隔. デフォルトは3.

verticalSpacing

項目間の縦方向のピクセル単位の間隔. デフォルトは1.

arrowSpacing

(サブメニューを表す)矢印と それに関連したテキストとの横方向のピクセル単位の間隔. デフォルトは10.

shadowThickness

ウィジェットの周りの影付けの厚み.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

A.15 MotifメニューのXリソース

Motifウィジェットを含めたXツールキットを使う Emacsがインストールされている場合には, メニューバーは別のウィジェットであり独自のリソースを持ちます. リソース名には (Emacsの起動名かすべてのEmacsの起動を意味する‘Emacs’に続けて) ‘pane.menubar’が含まれます. これらはつぎのように指定します.

 
Emacs.pane.menubar.subwidget.resource:  value

メニューバーの個々の文字列はサブウィジェットです. サブウィジェットの名前はメニュー項目の文字列と同じです. たとえば, メニューバーの中の単語‘Files’は ‘emacs.pane.menubar.Files’という名前のサブウィジェットの一部です. ほとんどの場合, メニューバー全体に同じリソースを指定するでしょう. それには, 特定のサブウィジェット名のかわりに‘*’を使います. たとえば, ‘8x16’フォントをメニューバーの項目に使うには, つぎのようにします.

 
Emacs.pane.menubar.*.fontList:  8x16

これは, サブメニューのリソース値も指定します.

メニューバー内のサブメニューの各項目には, それぞれ独自のXリソース名があります. たとえば, ‘Files’サブメニューには項目‘Save Buffer’があります. サブメニューの項目のリソース指定はつぎのようになります.

 
Emacs.pane.menubar.popup_*.menu.item.resource: value

たとえば, ‘Save Buffer’のフォントを指定するには, つぎのようにします.

 
Emacs.pane.menubar.popup_*.Files.Save Buffer.fontList: 8x16

Edit’の下の‘Spell’の下にある ‘Check Message’のような2段下のサブメニューの項目では, リソースの雛型はつぎのようになります.

 
Emacs.pane.menubar.popup_*.popup_*.menu.resource: value

たとえば, つぎのようになります.

 
Emacs.pane.menubar.popup_*.popup_*.Spell.Check Message: value

サブメニューのリソースを指定せずに, すべてのメニューバーの項目のリソースを指定することは不可能です. サブメニューの項目をメニューバー自体とは異なる見え方にするには, 2段階の指定が必要です. まずメニューバーのリソースを指定し, そのあとでサブメニューの値だけを上書きします. たとえば, つぎのようにします.

 
Emacs.pane.menubar.*.fontList:  8x16
Emacs.pane.menubar.popup_*.fontList: 8x16

ツールキットのポップアップメニューでは, ‘pane.menubar’のかわりに‘menu*’を使います. たとえば, ポップアップメニューの項目に‘8x16’フォントを指定するには, つぎのように書きます.

 
Emacs.menu*.fontList:  8x16

以下は, メニューバーとポップアップメニューのリソース指定の一覧です.

armColor

押せるボタンの表示色.

fontList

使用するフォント.

marginBottom
marginHeight
marginLeft
marginRight
marginTop
marginWidth

境界内で項目の周りに置く空白の量.

borderWidth

メニュー項目を縁取る境界の幅.

shadowThickness

境界の影付けの幅.

bottomShadowColor

境界の下端と右端の影付けの表示色.

topShadowColor

境界の上端と左端の影付けの表示色.


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated by 新堂 安孝 on September 22, 2009 using texi2html 1.82.