Emacs 与 Obsidian 联动

分享个 Emacs 与 Obsidian 联动的小技巧,只需要一个插件、一句命令。

  • 一个插件
  • 一句命令
/opt/homebrew/bin/emacs +{{caret_position}} {{file_path:absolute}}

然后设置一个别名(alias)。 我设置的是 Open in Emacs,这样在 Obsidian 命令面板中搜 Emacs 就能直接启动并把光标定位到当前行和当前列了。可以说是无缝切换。非常适合我这样的小白,比 Org-roam 好上手多了。

我对 Obsidian 的这个插件(还有 Emacs :joy:)还不太熟,退出 Emacs 后 Obsidian 会有提示:

截屏2022-10-15 20.22.13

不过无伤大雅,我脑子笨,就先不折腾了。

我的 shellcommands 配置:

2 个赞

感谢分享,好用

windows下面要配一下指定的shell和Path additions 不然可能找不到emacs,下面贴一下我的配置

Shell:

image

path:(替换成你的emacs路径)

1 个赞

:grinning: 谢谢支持

可以用,不錯。

有一點問題,會打開很多個emacs 窗口。mac環境下。

logseq竟然沒有設置成用emacs打開文件的功能。

obsidian有org mode的插件,但沒測試出來效果。

打开多个窗口这个问题我也注意到了,但我还是 Emacs 菜鸟,暂时没有考虑过怎么解决。 :joy:

找到这个方法主要是 Org-roam 太庞大太复杂了,这样就可以在 Emacs 里只安装一个 makdown-mode 就可以开始基本的 Markdown 编辑。

也是为了激励自己多用 Emacs 并且能蹭上 Obsidian 的全平台(移动端)支持和插件生态。

为了自由后期肯定是要把工作流转向全 Emacs 的,现在有一个好的开头,以后再慢慢学习并迁移。

剛剛找到logseq的默認功能,默認就可以用 emacs 打開文件。

1 个赞

这个插件我还没安装,不过插件理念挺合我心意的。

Logseq 和 Obsidian 对字符的掌控太弱了,参见:

而且 Logseq 性能还不如 Obsidian:

目前对新手最友好的方案就是 markdown-mode+obsidian.el,org-roam+md-roam 方案有点复杂。

在 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 个赞

感谢指教,又学到了点新知识 :smiling_face_with_three_hearts: