Previous: Invoking emacsclient, Up: Emacs Server [Contents][Index]
emacsclient
のオプション以下のようなオプション引数をemacsclient
プログラムに渡すことができます:
emacsclient -c +12 file1 +4:3 file2
引数‘+line’および‘+line:column’は、その後に続くファイルの行番号、または行番号と列番号を指定します。これらはEmacs自身に対するコマンドライン引数と同じように機能します。 Action Argumentsを参照してください。
その他のemacsclient
により認識されるオプション引数を以下にリストします:
emacsclient
が、Emacsとの接続に失敗したとき実行するコマンドを指定します。これはスクリプト内でemacsclient
を実行するとき便利です。
特別な例外として、commandが空文字列の場合、接続に失敗したらemacsclient
は(emacs
--daemon
のように)Emacsをデーモンモードで開始して、再度接続を試みます。
環境変数ALTERNATE_EDITOR
は、‘-a’オプションと同じ効果をもちます。両方が指定された場合は、後者のオプションが優先されます。
既存のEmacsフレームを使うかわりに、新しいグラフィカルなクライアントフレーム(client frame)を作成します。クライアントフレームでの、C-x C-cの特別な振る舞いについては、以下を参照してください。(Xサーバーに接続できない等で)新たにグラフィカルなフレームを作成しない場合、あたかも‘-t’オプションが指定されたかのように、テキスト端末でクライアントフレームの作成を試みます。
MS-Windowsでは、単一のEmacsセッションがグラフィカルなフレームとテキスト端末のフレームの両方を表示することはできず、複数のテキスト端末のフレームを表示することもできません。したがってEmacsサーバーがテキスト端末で実行されている場合、‘-c’オプションは‘-t’オプションのように、サーバーのカレントテキスト端末で新たなフレームを作成します。Windows Startupを参照してください。
‘-c’オプションを指定するときに、ファイル名の引数を省略した場合、新しいフレームはデフォルトで*scratch*バッファーを表示します。変数initial-buffer-choice
でこの振る舞いをカスタマイズできます(Entering Emacsを参照してください)。
新たに作成される、グラフィカルなフレームのパラメーターをセットします(Frame Parametersを参照してください)。
与えられたファイルを、(複数のXディスプレーがあることを想定して)Xディスプレーdisplayで開くようEmacsに指示します。
ファイルをvisitするかわりに、Emacs
Lispコードを評価するようEmacsに指示します。このオプションが与えられた場合、emacsclient
は引数をvisitするファイルではなく、式のリストと解釈します。
TCPを通じてEmacsサーバーに接続するための、サーバーファイル(server file)を指定します。
Emacsサーバーは通常、接続をlistenするために、オペレーティングシステムの“ローカルソケット(local
socket)”と呼ばれる仕組みを使用します。Microsoft
Windowsのようないくつかのシステムは、ローカルソケットをサポートしません。このような場合、サーバーはTCPを通じてemacsclient
と通信します。
TCP
Emacsサーバーを開始したとき、Emacsはemacsclient
がサーバーに接続するために使用する、TCP情報を含むサーバーファイル(server
file)を作成します。デフォルトでは、これは~/.emacs.d/server/です。emacsclient
が特定のサーバーファイルを使ってTCPでサーバーに接続するよう指示するには、オプション‘-f’または‘--server-file’を使用するか、環境変数EMACS_SERVER_FILE
をセットしてください。
すべてのサーバーバッファーが終了するのを待つかわりに、emacsclient
が即座に終了するようにします。Emacsのサーバーバッファーで編集したいときに、このオプションを指定します。C-x
#をタイプしても、これらはkillされません。
XEmbedプロトコルを通じて、IDがidの親Xウィンドウでクライアントフレームとして、emacsclient
フレームをオープンします。現在のところ、これは主に開発者に有用なオプションです。
emacsclient
がEmacsを待つメッセージ、またはリモートのサーバーソケットに接続するメッセージを表示しないようにします。
名前がserver-nameのEmacsサーバーに接続します。サーバー名は、Emacsサーバー上の変数server-name
により与えられます。このオプションが省略された場合、emacsclient
は見つかったサーバーに接続します(このオプションはMS-Windowsではサポートされません)。
既存のEmacsフレームを使うかわりに、カレントテキスト端末に新たなクライアントフレームを作成します。これはテキスト端末のフレームを作成する点を除き、上記で説明した‘-c’と同じように振る舞います(Non-Window Terminalsを参照してください)。
MS-Windowsでは、Emacsサーバーがグラフィカルなディスプレーを使っている場合は‘-c’のように振る舞いますが、Emacsサーバーがテキスト端末で実行されている場合は、カレントテキスト端末に新たなフレームを作成します。
オプション‘-c’または‘-t’で作成された、グラフィカルなフレームおよびテキスト端末のフレームは、クライアントフレーム(client
frames)とみなされます。クライアントフレームから作成した新たなフレームも、クライアントフレームとみなされます。クライアントフレームでC-x
C-c
(save-buffers-kill-terminal
)とタイプした場合、それが通常行なうようなEmacsセッションのkill(Exitingを参照してください)は行なわれません。かわりにEmacsはクライアントフレームを削除します。さらに、制御を取り戻すために待っているemacsclient
をクライアントフレームがもつ場合(たとえば‘-n’オプションを与えなかった場合)、Emacsは同じくクライアントの他のすべてのフレームを削除し、(それらすべてにたいしてC-x
#をタイプしたかのように)クライアントのサーバーバッファーが終了したとマークします。クライアントフレームが削除された後、残ったフレームが存在しない場合、Emacsセッションは終了します。
例外として、Emacsがデーモンとして開始された場合、すべてのフレームはクライアントフレームとみなされ、C-x C-cがEmacsをkillすることはありません。デーモンセッションを終了するには、M-x kill-emacsとタイプします。
‘-t’と‘-n’は、矛盾するオプションであることに注意してください。‘-t’はカレントテキスト端末に新たにクライアントフレームを作成して制御することを指示し、‘-n’はテキスト端末で制御を行なわないことを指示するからです。両方のオプションを与えた場合、‘-t’の効果は打ち消されて、Emacsは新たにフレームを作成せず、既存のフレームで指定されたファイルをvisitします。