การเริ่มต้น Emacs เพียงครั้งเดียวด้วยไฟล์ต่างๆบน Windows


4

ฉันต้องการลงทะเบียน emacs ด้วยนามสกุลไฟล์บน windows แต่ควรเปิด emacs อินสแตนซ์เดียวเท่านั้นแม้ว่าฉันจะเปิดหลายไฟล์ผ่านทางส่วนขยาย

ฉันได้ติดตั้ง emacs จาก emacs-22.3-bin-i386.zip โดยการแกะออกเป็น c: \ bin \ emacs บนระบบ windows server 2003 (32 บิต)

ฉันสร้างสคริปต์ c: \ bin \ emacs \ bin \ emacs-filetarget.cmd

@echo off
"%~dp0emacsclientw.exe" -na "%~dp0runemacs.exe" "%1"

เมื่อฉันเปิดไฟล์ * .el แรกด้วย c: \ bin \ emacs \ bin \ emacs-filetarget.cmd มันจะเปิดขึ้นในอินสแตนซ์ emacs ใหม่ซึ่งใช้ได้

แต่ไฟล์ที่สอง * .el ได้รับการเปิดในอินสแตนซ์ emacs ที่สอง ฉันกำลังมองหาวิธีที่จะมีอินสแตนซ์ emacs เดียวเท่านั้นที่เปิดไฟล์ที่ตามมาทั้งหมด

คำตอบ:


7

คุณต้องแน่ใจว่าเซิร์ฟเวอร์ emacs นั้นเริ่มทำงานแล้ว เพิ่มสิ่งต่อไปนี้ในไฟล์. emacs ของคุณ:

(server-start)

จากนั้นใช้ emacsclientw.exe เสมอเพื่อเริ่มใช้ emacs

สำหรับการอ้างอิงฉันใช้ไฟล์ emacs.cmd ซึ่งมีลักษณะดังนี้:

@echo off
if "%1"=="" goto nofile

start "" "c:\emacs\bin\emacsclientw.exe" -n %*
goto end

:nofile
start "" "c:\emacs\bin\runemacs.exe

:end

อินสแตนซ์ "runemacs" เป็นเพราะ emacsclientw ต้องการให้คุณระบุชื่อไฟล์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.