Conkeror 是一个提供类 Emacs 界面的浏览器,对于我这个已经
开始从 Evil 转向 Emacs默认键位的人来说应该是很不错的选择。
虽然知道有 Keysnail,但是我还是选择 Conkeror,先是我已经在用 Safari 了,只是需要
一个 Fallback 的浏览器以备不时之需,顺带提供在使用 Emacs 之时有顺滑的全键盘体验
(至少目前 XWidget + WebKit 的内置浏览器体验还不足,再是 Conkeror 提供的界面更干
净些,也确实有些 Killer Features。
配置上,官方 Wiki 已经有详细的范例了。不再赘述。
不过在 macOS 上使用 external-editing
时,有些问题需要解决。因为从 GUI 启动的
Emacs.app (或者用 open
命令打开的),启用 server 时,在 Terminal.app 中用emacsclient
连接是没什么问题的,但是从同样是 GUI 启动的 Conkeror 调用emacsclient
出现会找不到 server 的情况。初步怀疑是环境变量的问题,开始找资料,
但是几个构想都不可行。
然后我在 EmacsWiki 上意外找到和我相似问题的解决办法:
|
|
原理是让 server 路径变成标准路径。
好吧,还没完,这样设置以后,我用 magit
commit 的时候就出事了,出现了找不到
server 的提升!
又来?我看了看错误提示,发现使用的 emacsclient
是在很奇怪的路径,也就是/var/
路径下的,上 magit
的 github 页面,发现它是用 with-editor
这个宏来确
保使用了正确的 emacsclient
并正确连接到 server。
一般来说,其实只要用了 Emacs.app 自带的那个 emacsclient
就 OK 了,重点在于要指
定 socket。但是这个 socket 似乎是不断变化的,怎么办?
其实这个 socket 就是 with-editor-emacsclient-executable
的值,用 shell
解释
就是:
|
|
所以最终解决方案是:
|
|
完美……个头!
其实 external-editing
还是有些 bug 的,不过还算能忍受。
就到这里了。