分享个 Emacs 与 Obsidian 联动的小技巧,只需要一个插件、一句命令。
/opt/homebrew/bin/emacs +{{caret_position}} {{file_path:absolute}}
然后设置一个别名(alias)。
我设置的是 Open in Emacs
,这样在 Obsidian 命令面板中搜 Emacs 就能直接启动并把光标定位到当前行和当前列了。可以说是无缝切换。非常适合我这样的小白,比 Org-roam 好上手多了。
我对 Obsidian 的这个插件(还有 Emacs )还不太熟,退出 Emacs 后 Obsidian 会有提示:
不过无伤大雅,我脑子笨,就先不折腾了。
我的 shellcommands 配置:
3 个赞
感谢分享,好用
windows下面要配一下指定的shell和Path additions
不然可能找不到emacs,下面贴一下我的配置
Shell:
path:(替换成你的emacs路径)
1 个赞
可以用,不錯。
有一點問題,會打開很多個emacs 窗口。mac環境下。
logseq竟然沒有設置成用emacs打開文件的功能。
obsidian有org mode的插件,但沒測試出來效果。
打开多个窗口这个问题我也注意到了,但我还是 Emacs 菜鸟,暂时没有考虑过怎么解决。
找到这个方法主要是 Org-roam 太庞大太复杂了,这样就可以在 Emacs 里只安装一个 makdown-mode 就可以开始基本的 Markdown 编辑。
也是为了激励自己多用 Emacs 并且能蹭上 Obsidian 的全平台(移动端)支持和插件生态。
为了自由后期肯定是要把工作流转向全 Emacs 的,现在有一个好的开头,以后再慢慢学习并迁移。
剛剛找到logseq的默認功能,默認就可以用 emacs 打開文件。
1 个赞
Logseq 和 Obsidian 对字符的掌控太弱了,参见:
而且 Logseq 性能还不如 Obsidian:
目前对新手最友好的方案就是 markdown-mode+obsidian.el,org-roam+md-roam 方案有点复杂。
1 个赞
在 Linux 下,可以把命令中的 emacs
替换成 emacsclient
,这样就只会在当前 emacs 应用窗口中打开,不知道 mac 系统里有没有这个命令。
1 个赞
可以反过来在 emacs 里加个函数,这样就可以在 Obsidian 中打开当前在 emacs 中编辑的文件:
(defun open-current-file-in-obsidian ()
(interactive)
(browse-url-xdg-open
(concat "obsidian://open?path=" (url-hexify-string (buffer-file-name)))))
; doom emacs 中的按键绑定, SPC-f-o
;; (map! :leader
;; :desc "open current file in obsidian"
;; "f o" #'open-current-file-in-obsidian)
这样双向打通之后,Obsidian 就可以充当 markdown 预览工具了。
3 个赞