我用 Obsidian 管理笔记有段时间了,但编辑长文时总觉得少了 Vim 键位的灵活。试了 Obsidian.nvim 之后,基本把桌面端的功能都搬到了 Neovim 里——双链、日记、标签、模板都支持。这里记录一下配置和迁移过程,给有同样需求的朋友参考。
环境与安装
首先,Neovim 版本别太低,0.7.0 以上应该没问题。我用的是 Packer 管理插件,obsidian.nvim 依赖 plenary.nvim,如果用到补全还依赖 nvim-cmp。配置大概是:
use {
'obsidian.nvim',
requires = { 'nvim-lua/plenary.nvim', 'hrsh7th/nvim-cmp' },
}
工作区:把 Vault 指给它
Obsidian.nvim 用'工作区'对应 Obsidian 的 Vault。在 setup 里指定路径就行,插件会按这个目录去索引和读写 .md 文件。我配了一个主要工作区:
require("obsidian").setup({
workspaces = {
{
name = "my_vault",
path = "~/path/to/your/vault",
},
},
})
记住,这个路径得是已经存在的 Obsidian Vault 目录,不然插件读不到笔记。
功能迁移:链接、日记和模板
双链
双链语法和 Obsidian 一样用 [[链接名称]],插件原生支持跳转和反向链接。几个常用命令:
:ObsidianFollowLink跳到目标笔记:ObsidianBacklinks列出当前笔记的反向链接
这是我最看重的功能,笔记之间的关联不能断。
日记
和 Obsidian 类似的日记功能,三个命令就够用了:
:ObsidianToday打开/创建今天日记:ObsidianYesterday和:ObsidianTomorrow处理昨天和明天的
默认日记会放在根目录,我习惯把它们归到 daily 文件夹下,顺便指定一个模板:
daily_notes = {
folder = "daily",
template = "daily_template.md",
},
模板里的 {{date}}、{{time}} 变量会自动替换,跟 Obsidian 的模板机制一样。
标签与模板
标签还是 #标签名 那套,:ObsidianTags 能快速浏览和检索。模板系统也支持变量,我设了一个专门的 templates 文件夹,自定义日期时间格式:
templates = {
folder = "templates",
date_format = "%Y-%m-%d",
time_format = ,
},

