插件装得太多或者配置脚本写得太大,emacs 不能秒开的时候,每次不要退出,把正在运行的 emacs 挂在后台继续执行,有需要编辑就打开一个 emacsclient,这样 cilent 是秒开的,编辑完也只关闭 cilent。就是这样
看看帮助呢?
emacsclientw -a "" -nw
看看这些就明白了
e='emacsclient -a "" -n'
ec='emacsclient -a "" -n -c'
ef='emacsclient -a "" -c'
te='emacsclient -a "" -nw'
我用的是 emacs-plus ,供参考。
确实用的是 daemon ,指定了 socket name 。
/opt/homebrew/bin/emacs --daemon=kenton
/opt/homebrew/bin/emacsclient --no-wait -c --socket-name=kenton
我是用 alfred 写了个 workflow ,通过条件判断来保证只开启一个 frame 。
从这个角度来说的话,可能唯一的用途就是可以在桌面“没有启动 emacs frame“ 的前提下秒开吧
我用的也是emacs-plus,配置有一百二十多个包。基本半秒开Emacs,所以没考虑过emacsclient。
十秒的路过……与其优化配置文件,不如直接扔后台省心,哈哈哈,暴力干预!
emacs-mac与emacs是两个东西(
可以让我参考alfred workflow 吗?你用automator 吗?
来来,看我的blog吧,有详细的介绍,包括shell、Alfred快捷启动等等。
最新的启动bash代码在这里(我编写了函数,方便启动不同theme的emacs):
我就是在 alfred 里执行的 apple script,没有用 automator 。
其实没什么,就是做了 start / stop / restart / frame 四个操作,分别是开启、关闭、重启和 focus 已有 frame 的操作,前三个都是 shell 命令,focus 用的 tell application "Emacs" to activate
。
楼上的 blog 更全面。
多谢,好详细。无奈我最近把 alfred 换成了 raycast
好的呢,作个参考,反正就是调用个script,差别不大哇
来更新下我的使用情况.
- 这个插件不好用. 放弃了. 所以我都是一直开着一个 GUI based Emacs window… 每次开机后, 开一次, 然后最小化. 先凑合这样吧.
- Raycast 自带的 Create Script Command 非常好用. 在里面做个命令只需要包括一行
emacsclient -c
, 就可以从键盘实现秒开emacsclient windows. 效果非常完美.
各位道友,我找到了完美解决 Mac 启动 Doom emacsclient 的方法. 其实很简单, 就是用了Doom Emacs官方问文档的另一个安装建议.
不使用这个emacs版本
emacs-mac. It offers good integration with macOS, native emojis and better childframe support.
brew tap railwaycat/emacsmacport
brew install emacs-mac --with-modules
改为使用这个emacs版本
emacs-plus:
brew tap d12frosted/emacs-plus
brew install emacs-plus --with-native-comp
然后重新安装 doom emacs, 就搞定了.
装好后, 完全不再需要打开 GUI based Emacs.app.
只需要使用标准的 emacs --daemon
启动 server, 然后就随时使用 emacsclient -c
可快速打开任意多个 GUI based emacs client. 当然把这个emacsclient -c
做成 Raycast Script Command 更方便.
这个问题完美解决啦.