Next: , Up: Microsoft Windows   [Contents][Index]


G.1 MS-WindowsでEmacsを開始する方法

MS-WindowsでEmacsを開始するには、いくつかの方法があります:

  1. デスクトップのショートカットアイコンから、それを左マウスボタンでダブルクリックするか、1回クリックしてからRETを押します。デスクトップのショートカットは、ショートカットの“Target”(ショートカットの‘Properties”の中にあります)に、emacs.exeではなく、runemacs.exeの絶対ファイル名を指定する必要があります。なぜならショートカットのターゲットがemacs.exe(Windowsから見る限りこれはコンソールプログラムです)のときに作成されるコンソールウィンドウを、runemacs.exeは隠すからです。この方法を使用する場合、Emacsはショートカットで指定されたディレクトリーで開始されます。これを制御するには、ショートカットを右クリックして“Properties”を選択し、“Shortcut”タブで“Start in”フィールドを変更します。
  2. コマンドプロンプトウィンドウから、プロンプトにたいしてemacs RETとタイプします。そのコマンドプロンプトウィンドウからは、Emacsを終了するまで、他のコマンドを呼び出すことはできなくなります。この場合、EmacsはWindowsシェルのカレントディレクトリーで開始されます。
  3. コマンドプロンプトウィンドウから、プロンプトにたいしてrunemacs RETとタイプします。そのコマンドプロンプトウィンドウから、すぐに別のコマンドを呼び出すことが可能になります。この場合EmacsはWindowsシェルのカレントディレクトリーで開始されます。
  4. emacsclient.exeまたはemacsclientw.exeを通じてEmacsを開始します。これらのコマンドは、Emacsを他のプログラムから呼び出して、他のプログラムから要求された編集ジョブのために、実行中のEmacsプロセスを再使用します。Emacs Serverを参照してください。2つのコマンドの違いは、emacsclient.exeがコンソールプログラムなのにたいして、emacsclientw.exeはWindowsのGUIプログラムであるという点です。どちらのプログラムも、プログラムを終了して呼び出したプログラムに制御を戻す前に、Emacsが編集ジョブの終了をシグナルするまで待ちます。これらのコマンドを、それぞれどのような場合に使用するかは、編集サービスを必要とするプログラムが期待することに依存します。そのプログラム自身がコンソール(テキストモード)プログラムの場合は、emacsclient.exeを使用するべきです。そうすれば呼び出したプログラムと同じコマンドウィンドウにメッセージとプロンプトが表示されます。対照的に呼び出し側のプログラムがGUIプログラムの場合は、emacsclientw.exeを使用するほうがよいでしょう。なぜならemacsclient.exeはGUIプログラムから呼び出された場合、コマンドウィンドウをポップアップするからです。emacsclientw.exeを使いたい状況としては、Windows Explorerでファイルを右クリックして、ポップアップメニューで“Open With”を選択する場合です。emacsclientを呼び出すときにEmacsが実行中でない(またはサーバーとして実行されていない)場合は、‘--alternate-editor=’または‘-a’オプションを使用します。このオプションは常にエディターを与えます。emacsclientを通じて呼び出された場合、Emacsはemacsclientを呼び出したプログラムのカレントディレクトリーで開始されます。

MS-Windowsの制限により、Emacsは同一セッションでGUIとテキストモードのフレームをもつことはできないことに注意してください。また複数のコマンドプロンプトウィンドウでテキストモードのフレームを開くこともできません。なぜならWindowsのプログラムは、それぞれ1度に1つのコンソールしかもつことができないからです。これらの理由により、emacsclient-cオプションで呼び出したとき、Emacsサーバーがテキストモードセッションで実行されている場合、Emacsは常にそれが開始されたのと同じコマンドプロンプトウィンドウに、テキストモードのフレームを開きます。GUIフレームはサーバーがGUIセッションで実行されているときだけ作成されます。同様に、emacsclient-tオプションで呼び出したとき、サーバーがGUIセッションで実行されている場合はGUIフレームを作成し、サーバーセッションがコマンドプロンプトウィンドウのテキストモードで実行されている場合はテキストモードのフレームを作成します。emacsclient Optionsを参照してください。