emacsclient(w)和gnuclient(w)
Emacs有一个Server-Client模式,如果你是码字狂人,同时编辑好几个文件,这就很有用了,比如你在网上发帖子,就可以在Firefox中将文本发送到Emacs中进行编辑,是的,我知道你离不开Emacs,人不能没有信仰啊。
(load "gnuserv")启动的时候,用gnuclientw.exe -s代替runemacs.exe启动。
(gnuserv-start)
(server-start)
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell]
@="*"
[HKEY_CLASSES_ROOT\*\shell\emacs]
@="用Emacs打开..."
[HKEY_CLASSES_ROOT\*\shell\emacs\command]
@="D:\\Programs\\ntemacs23\\bin\\gnuclientw.exe -s \"%1\""
[HKEY_LOCAL_MACHINE\SOFTWARE\GNU\Emacs]
"HOME"="D:\\foo\\Home"
Windows Registry Editor Version 5.00上面提到过emacsclient(w)有点小问题,就是这里设置的HOME目录似乎对emacsclient(w)不起作用,必须设置HOME变量才可以,还有就是如果Emacs事先未打开,会弹出一个对话框报告connet: No error,确定后就可以正常打开了,不过这个文件不是通过emacsclient(w)打开的,而是runemacs,所以关闭该buffer用的也不是C-x #,这点gnuclient(w)做得完美,反正只要用gnuclient(w)替代runemacs启动就可以了,它的buffer关闭也跟普通buffer一样,而不是C-x #
[HKEY_CLASSES_ROOT\*\shell]
@="*"
[HKEY_CLASSES_ROOT\*\shell\emacs]
@="用Emacs打开..."
[HKEY_CLASSES_ROOT\*\shell\emacs\command]
@="D:\\ntemacs\\bin\\emacsclientw.exe -a \"D:\\ntemacs\\bin\\runemacs.exe\" \"%1\""
[HKEY_LOCAL_MACHINE\SOFTWARE\GNU\Emacs]
"HOME"="D:\\foo\\Home\\"