0v0
1
过去我使用Obsidian搭建资料仓库,但是软件本身存在性能问题、bug乃至内存泄漏。因此希望尝试转移到Emacs。
我曾经在Obsidian中大量使用JavaScript渲染DOM用于创建一些小程序和实现动态文档。可以直接在代码块中输入JavaScript代码,离开编辑后即时渲染。请问Emacs中可以支持这种操作吗?
我还曾向Obsidian的浏览器内核注入脚本用于定制界面、挂载一些管理程序用于自动化管理文档。请问这样的代码可以转移到Emacs的内置浏览器上吗?
最后,我使用Obsidian库时将所有文件、脚本以及配置等全部打包在一个文件夹下,使得仓库可以轻松在多个计算机间来往携带。请问Emacs中可以延续这一理念吗?
-
不可以. Emacs 由 Elisp 编写而成, 无法像 Obsidian 那样对 JavaScript 有一等支持. Emacs 的专精领域在于文本, Elisp 是 Emacs 的编程语言, JavaScript 无法在 Emacs 中执行.
-
不可以. Emacs 的内置浏览器只能解析 HTML, 无法执行 JavaScript 代码.
-
可以. Emacs 的插件, 配置等文件默认存放在 ~/.emacs.d/
目录下, 称为 user-emacs-directory
. Emacs在启动时会在该目录下查找并执行配置文件. 可以通过启动时设置 --init-directory
参数指定任一目录为 user-emacs-directory
.
在不同的计算机上工作时, 只要同步 user-emacs-directory
, 便可以同步所有的插件, 配置等 (暂不讨论不同版本之间的 Elisp 代码兼容性以及 native-compilation
等问题). 用户文件也可以放在该目录下任意路径一并同步, 在打开文件时使用正确的文件名即可.
如果对 JavaScript 的依赖较重, 推荐不要使用 Emacs. Emacs 的优势是 Elisp 的灵活性对文本编辑以及任何文本处理工作的效率加持. 可以考虑脱离Obsidian以及其他基于Web技术的软件的束缚, 直接使用浏览器.
1 个赞
0v0
3
多谢解答。
最近我了解到Emacs中可以运行全功能浏览器,还可以使用PyQt创建窗口。请问我能否通过Elisp启动一个node子进程挂载到Emacs下,让它们协同工作?