2013-03-25 3 views
3

Windows 8에서 Emacs 24.3을 사용하고 있습니다. 파일을 마우스 오른쪽 버튼으로 클릭하고 "이맥스로 편집"을 선택하고 파일을 기존 이맥스 프레임에서 열어보고 싶습니다. . 지금까지 수행 한 모든 단계가 아래에 나열되어 있습니다. 그것의 대부분은 Emacs documentation page for Windows에서 지시를 받았다. 나는 또한 내 .emacs의 시작 부분에서 C:\\path\\to\\runemacs.exe기존 이맥스 프레임에서 파일 열기 (Windows)

ALTERNATE_EDITOR 환경 변수를 설정

[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\"" 

다음

내가 내 컨텍스트 메뉴에 "이맥스와 편집"을 추가하는 데 사용되는 레지스트리 키입니다 this answer에 다음 코드를 추가했습니다.

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

두 번째 파일을 열 때 "서버가 이미 실행 중입니다"라는 오류를 없앨 수는 있지만 새 프레임에서 계속 열립니다.

그래서 기존 프레임에서 새 파일을 열려면 emacs를 사용하지 않으려면 어떻게해야합니까?

답변

4

SumatraPDF를 사용하여 synctex을 수정하려고하는 중 우발적 인 문제가 발생했습니다. runemacs.exe을 가리키는 ALTERNATE_EDITOR 환경 변수 외에도 서버 파일을 가리키는 EMACS_SERVER_FILE 환경 변수 (내 주소는 .emacs.d\server 디렉토리에 저장 됨)를 만들어야합니다. 일단 내가 그랬다면 Emacs로 열기를 지시하는 파일이 자신의 파일을 만드는 것보다 기존의 프레임에서 열렸습니다.

0

emacsclient가 매번 서버에 연결하여 emacs의 새 인스턴스를 시작하지 못하는 것 같습니다. 설치 한 소프트웨어 방화벽에서 차단 해제해야 할 수도 있습니다.

+0

내가 차단 해제해야 할 아이디어가 있습니까? – Ryan

+0

방화벽 소프트웨어에 따라 다르지만 대부분의 방화벽은 이맥스가 청취 소켓을 만들지 못하도록 차단하므로 이맥스를 허용 목록에 추가해야합니다 (또는 차단되었을 때 블랙리스트에서 제거해야합니다). 일부는 emacsclient가 클라이언트로 연결되는 것을 차단할 수 있습니다. – JSON

+0

방금 ​​runemacs.exe에 연결할 수 있도록 Windows 방화벽 용 방화벽 규칙을 만들었습니다. 오프닝 동작에는 변화가 없습니다. – Ryan

관련 문제