想要实现的效果: 在windows10环境下点击org-roam-server-mode中的笔记节点,在打开的emacs中能立刻显示。(目前仅能实现emacs中打开节点,浏览器刷新)
我的org-roam和sqlite3都安装运行正常,也尝试使用注册表来修改org-protocol,但始终无法实现在已有的emacs窗口打开笔记本。
诚心求教如何解决。
想要实现的效果: 在windows10环境下点击org-roam-server-mode中的笔记节点,在打开的emacs中能立刻显示。(目前仅能实现emacs中打开节点,浏览器刷新)
我的org-roam和sqlite3都安装运行正常,也尝试使用注册表来修改org-protocol,但始终无法实现在已有的emacs窗口打开笔记本。
诚心求教如何解决。
遇到了一样的问题,mac linux都有解决方案,偏偏windows没有,同求大神解惑
GitHub - sprig/org-capture-extension: A Chrome and firefox extension facilitating org-capture in emacs 这里有设置 org-protocol 的教程。
第一步需要开启 emacs-server
;; server 配置
(setq server-name "emacs-server-file")
(server-start)
设置两个环境变量:
ALTERNATE_EDITOR=C:\Program Files\Emacs\x86_64\bin\runemacs.exe
EMACS_SERVER_FILE=C:\Users\xhcoding\.emacs.d\server\emacs-server-file
路径按需更改
第二步设置 org-protocol
在注册表的 HKEY_CLASSES_ROOT
下新建一个 key org-protocol
, 设置默认值类型为REG_SZ
, 值为 URL:org-protocol
,新建一个类型为 REG_SZ
的数据,Key 为 URL Protocol
, 值为空。
在 org-protocol
下建 shell->open->command
, 教程里写 command 的默认值设为 "C:\the\path\to\your\emacsclientw.exe" "%1"
, 但是我这样设会有路径问题,解决方法就是写个脚本处理一下,我的 command
值:
org_capture.bat 脚本内容如下:
@echo off
set URL=%1
set URL=%URL:&=^&%
set URL=%URL:/?=?%
set URL=%URL:://=:///%
start "" "C:\msys64\mingw64\bin\emacsclientw.exe" -na "C:\msys64\mingw64\bin\runemacs.exe" "%URL%"
这样就可以了。
最后,去掉 chrome 中一直提示确认的方法:
注册表 HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome
下新建一个 DWORD
类型的数据,key 为 ExternalProtocolDialogShowAlwaysOpenCheckbox
, 值为 1
再次提示的时候勾上始终打开。
非常感谢您的回复!排版很清晰!!还很贴心给出了如何关闭chrome提示的教程!! 但是我按照以上步骤还是配置失败了。 我使用的emacs 是 windows下的gui版本。
init.el如下
环境变量如下:
注册表如下:
shell:
open: command:roam.bat脚本如下:
最终结果: 第一步:启动org-roam-server:
第二步:点击笔记结点,打开bat文件: 第三步:弹出了一个新的窗口,而且没有成功打开笔记有劳大神了!
你先尝试一下打开emacs, 然后M-x => server-start 点击链接试试可以跳转
路径有问题,可以试试不用那个脚本做路径转换,直接在 command里写 "C:\the\path\to\your\emacsclientw.exe" "%1"
试试在现有的配置里加上这个:
(require 'org-roam-protocol)
非常期待楼主成功。
我之前试装过org-roam-server,也是搞不定protocol,已经放弃了,据说作者今后的升级为改善windows的用户安装,我老实地等更新。
成功不了,以上所有提供的办法我都试过了,emacs server的配置也没有问题,可以在命令行直接用emacsclientw或者emacsclient 使得server窗口打开某一文件,看来只能等作者更新咯。
无论如何,感谢各位愿意抽时间帮小弟研究这个问题。
卤煮其实还可以去reddit问问。
尝试了一下,Win10下用楼上提供的配置:
@Neikice,谢谢您的回复,用的@xhcoding 的bat 脚本启动。org-roam-bibtex 的 cite 也不关联,估计我的配置有问题,有谁能做个教程就好了。graphviz生成的关联图,不好看,这个怎么设置呢?
关联图美化,现在可以用org-roam-server 好看不少
参考这里https://orgmode.org/worg/org-contrib/org-protocol.html#org124a1fc和这里https://earvingad.github.io/posts/doom_emacs_windows/完美解决,我用的是doom-emacs,用第一个链接的windows setup那的代码写入一个reg注册文件,然后用第二个链接的EMACS_SERVER_FILE环境变量,注意,我的doom-emacs的server文件在C:\Users\Administrator.emacs.d\server下,而不再.local下,配置文件中也不要(setq server-name “emacs-server-file”)(server-start),也不用设置ALTERNATE_EDITOR=C:\Program Files\Emacs\x86_64\bin\runemacs.exe环境变量,也不要写什么批处理程序。也不用(require 'org-roam-protocol)