7

Windows8でEmacs24.3を使用しています。ファイルを右クリックして[EditwithEmacs]を選択し、既存のemacsフレームでファイルを開いてもらいたいです。これまでに行ったすべての手順を以下に示します。そのほとんどは、Windows用のEmacsドキュメントページからの指示でした。

以下は、コンテキストメニューに「EditwithEmacs」を追加するために使用したレジストリキーです。

[HKEY_CLASSES_ROOT\*\shell]
[HKEY_CLASSES_ROOT\*\shell\openwemacs]
@="&Edit with Emacs"
[HKEY_CLASSES_ROOT\*\shell\openwemacs\command]
@="C:\\Portable Software\\emacs-24.3\\bin\\emacsclientw.exe -n \"%1\""
[HKEY_CLASSES_ROOT\Directory\shell\openwemacs]
@="Edit &with Emacs"
[HKEY_CLASSES_ROOT\Directory\shell\openwemacs\command]
@="C:\\Portable Software\\emacs-24.3\\bin\\emacsclientw.exe --alternate-editor=\"C:\\Portable Software\\emacs-24.3\\bin\\runemacs.exe\" -n \"%1\""

また、ALTERNATE_EDITOR環境変数をに設定しますC:\\path\\to\\runemacs.exe

私の冒頭で、この回答.emacsごとに次のコードを追加しました。

(require 'server)
(or (server-running-p)
     (server-start))

これを追加すると、2番目のファイルを開くときに「サーバーはすでに実行中です」というエラーがなくなりましたが、それでも新しいフレームで開きます。

では、emacsに既存のフレームで新しいファイルを開くために何が欠けているのでしょうか?

4

3 に答える 3

5

synctexSumatraPDFで修正しようとしたときに、誤ってこれを理解しました。ALTERNATE_EDITORを指す環境変数に加えて、サーバーファイルを指す環境変数runemacs.exeも作成する必要があるようです(私のものはディレクトリに保存されていました)。それをしたら、Open with Emacsに指示したファイルは、独自のフレームを作成するのではなく、既存のフレームで開きました。EMACS_SERVER_FILE.emacs.d\server

于 2014-05-05T23:14:32.193 に答える
0

これは私のために働いた。

C:\Program Files\runemacs.bat次の内容で作成します。

@echo off

:: Set the path to where the Emacs binaries are
set binpath=C:\Program Files\emacs-26.1-x86_64\bin

:: If no arg is given edit this file
if "%~1"=="" (
  set filename="C:\Program Files\runemacs.bat"
) else (
  set filename="%~1"
)

:: Run Emacsclient
"%binpath%\emacsclientw.exe" --no-wait --alternate-editor="%binpath%\runemacs.exe" %filename%

そして、C:\Program Files\runemacs.batの代わりにを介してすべてのファイルを開きますC:\Program Files\emacs-26.1-x86_64\bin\runemacs.exe

于 2019-04-12T06:32:16.350 に答える
-1

emacsclientがサーバーとの接続に失敗し、毎回emacsの新しいインスタンスを開始しているようです。インストールしたソフトウェアファイアウォールで何かのブロックを解除する必要があるかもしれません。

于 2013-03-25T03:21:48.350 に答える