【求助】如何用alfred秒开emacs?(已解决,mac下很方便秒启动emacs)

逛论坛看到这个帖子 无限接近裸配置启动时间的Emacs配置思路 ,自己在mac terminal里试了一下,发现真的1秒内打开emacs。

我平时都是用alfred keyword打开emacs的,所以想通过alfred的workfow将帖子里的命令 emacs -Q -D --load ~/.emacs.d/init.el 传给terminal后台执行而打开emacs。

参考了这个教程,但是并没有成功。如下图我自己跟着教程做的,直接把上述命令copy到框里。请问这该怎么弄呢?

Mac 的 APP 似乎不继承环境变量,把 emacs 替换成 which emacs 的结果试试

也是没反应。不过我用alfred的run script是在后台运行的,terminal不开打,就算which emacs有结果,我也不知道在哪里看得到 :rofl:

alfred workfow的设置里跟我想要实现的 “按快捷键后把命令emacs -Q -D --load ~/.emacs.d/init.el传给terminal后台(不弹出terminal窗口)执行开打emacs” 功能相关的就是这两个:

1对应下面这个截图,按快捷键后可以执行命令,但是会打开terminal窗口。

2对应下面这个截图(图上的脚本是自带的),符合我想要的功能,但是直接copy命令到框里,按快捷键后没反应。应该是脚本写错了。

1 个赞

这样写也不对,不知道这脚本该怎么写……

你有尝试先自己在终端里执行 which emacs 然后用这个命令的结果替换到原来的命令里的 emacs 吗?

$emacs 老哥你这是想干啥 :laughing: 这样你直接 $(which emacs) -Q -D --load ~/.emacs.d/init.el

哈哈哈,我是外行,见笑了,被自己蠢到 :rofl:完美实现想要的功能,谢谢!

0.4~ 1秒内启动,不要太爽 :smile:

额……又遇到问题了……麻烦大哥帮忙看一下,谢谢!

--quick, -Q                 equivalent to:
                              -q --no-site-file --no-site-lisp --no-splash
                              --no-x-resources

--basic-display, -D             disable many display features;
                                  used for debugging Emacs

加-D启动后主题失效了,不加-D主题没问题,下面这些却失效了(菜单栏 工具栏 滚动条重新出现):

(scroll-bar-mode -1)
(tool-bar-mode -1)
(menu-bar-mode -1)

Emacs 只需要开机启动一次…和 Vim的使用方式不一样,两三秒的时间是可接受的

我写过一个 workflow, 但不是这种秒开的方式,可以参考一下

好咧,谢谢,我试试 :+1:

我沒看懂,來弱問一下:echo -n $query 是干嘛的?为啥要query? 是吧整个命令作为字符串然后query是个变量传递给terminal来执行吗?头大…

我的代码里好像没这个吧? 感觉上你的理解是对的。 bash 让人头大,我学不来,所以才用的 Ruby

啊 不是 那是alfred自带的演示代码,我也不知道什么意思。正确的是这样子的:

1、终端里:which emacs找到emacs 的path

2、把1的path 跟 --load ~/.emacs.d/init.el 写在一起就好了。例如我的是这样的 /usr/local/bin/emacs --load ~/.config/emacs/init.el

我的workflow是这样的,很简单:记得选run script