Emacs单实例快速启动

Emacs单实例快速启动

参考和转载

1 server方式启动

在windows下,每次运行runemacs.exe或者emacs.exe都会启动一个新实例,速度比较慢,单实例的启动方式可以避免emacs在windows下尴尬的启动速度:将Emacs启动为一个server.需要在Emacs的配置文件中加入以下命令:

(server-start)

这时,再使用runemacs.exe启动Emacs后,在Home目录的.emacs.d\server目录下会生成一个server文件,里面记录了Emacs实例的IP地址及端口号等信息,退出Emacs后,这个文件就会被删除。
server已经后可以用client连接server了,在Emacs安装目录的bin目录下会有emacsclient.exe和emacsclientw.exe两个exe文件,前者基于命令行,后者有图形界面,使用client来连接server打开文件的命令如下:

emacsclientw.exe --no-wait --alternate-editor="runemacs.exe" "~/.emacs"

其中–no-wait参数告诉client不要等待Emacs server返回,而是直接退出;–alternate-editor参数指定在server不存在的时候就使用该编辑器来打开文件,在这里指定为runemacs.exe,这样就可以在Emacs没运行的情况下运行Emacs并使用之进行编辑;第三个参数是要打开的文件,这里指定为HOME目录下的配置文件.emacs。
在运行这个命令后,emacsclientw.exe会去.emacs.d\server目录下找到server文件,取出里面的IP地址和端口号,连接之,将”~/.emacs”传过去,然后作为server的Emacs打开该文件,如果在.emacs.d\server目录没有找到server文件的话,client就会调用runemacs.exe来打开该文件。

2 设置快捷菜单

情况来了,不可能在每打开一个文件的时候就去命令行输入如此长的命令,而且命令中的文件路径每次都有变化,所以将命令加入右键菜单是不二选择.
在注册表中建如下键值:

HKEY_CLASSES_ROOT\*\shell\Edit with Emacs\command

并将其中default的值设为:

"path\to\emacsclientw.exe" --no-wait --alternate-editor="path\to\runemacs.exe" "%1"

上述命令需要把emacsclientw.exe和runemacs.exe的路径换成实际路径,而后面的%1则代表要打开的文件。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值