惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
V
Visual Studio Blog
美团技术团队
L
LINUX DO - 最新话题
Last Week in AI
Last Week in AI
雷峰网
雷峰网
博客园_首页
腾讯CDC
博客园 - Franky
大猫的无限游戏
大猫的无限游戏
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
人人都是产品经理
人人都是产品经理
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
J
Java Code Geeks
W
WeLiveSecurity
Apple Machine Learning Research
Apple Machine Learning Research
Spread Privacy
Spread Privacy
博客园 - 聂微东
量子位
Recent Announcements
Recent Announcements
S
Schneier on Security
O
OpenAI News
PCI Perspectives
PCI Perspectives
H
Heimdal Security Blog
T
Tailwind CSS Blog
S
Security Affairs
Y
Y Combinator Blog
P
Privacy International News Feed
Hacker News: Ask HN
Hacker News: Ask HN
Stack Overflow Blog
Stack Overflow Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
U
Unit 42
Webroot Blog
Webroot Blog
Vercel News
Vercel News
Simon Willison's Weblog
Simon Willison's Weblog
B
Blog RSS Feed
S
Secure Thoughts
Microsoft Azure Blog
Microsoft Azure Blog
N
Netflix TechBlog - Medium
V
V2EX
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
D
DataBreaches.Net
月光博客
月光博客
博客园 - 三生石上(FineUI控件)
L
LangChain Blog
S
Security @ Cisco Blogs
The Hacker News
The Hacker News
The GitHub Blog
The GitHub Blog
C
CERT Recently Published Vulnerability Notes

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派 万字剖析:千问App深度体验报告(2026) - 少数派 在2026年,如何真正防止别人抄袭你的作品 - 少数派 怎么用 50 块搭个 AI 语音助手?我踩了 3 天坑 - 少数派 YeeroAI:让 AI 对话真正成为知识管理的一部分 - 少数派 爬泰山 - 少数派 「旅图显影」 App 更新:这次,我们补上了一点「手感」 - 少数派 假期出门太折磨?我的 23 条经验帮你规划惬意旅行 - 少数派 工作流会变吗 - 少数派 Claude Opus 4.6 怎么用最省钱?我测了 5 种方案 - 少数派 GPT Image 2 让图文并茂不再稀罕 - 少数派 用户侧出发——什么是AI,我要不要学习? - 少数派 找片、转存、整理、播放一条龙!让你的付费网盘值回票价 - 少数派 欢迎试用!日课一问2.0插件 - 少数派 自己做的MDeditor,原本想购买 Typora 试了两次支付不成功,干脆自己做一个 - 少数派 vibe coding了一个 3MB 的小工具,让 ~/Downloads 彻底告别混乱 - 少数派 因为受不了 Mac 的风扇策略,我做了一个风扇控制工具 - 少数派 别只怪模型 - 少数派 Warp 终端的 AI 功能怎么用?我测了一周的体验 - 少数派 AI 写代码老是出 bug?这 5 个配置我后悔没早知道 - 少数派 「新玩意」苹果出相机可能就这样:Sigma BF + 45mm F2.8 DG Contemporary - 少数派 一个面向2030年的AI操作系统是什么样子的:浅谈cola这款有灵魂的Agent - 少数派 别只看写代码 - 少数派 每天解决10个问题,还是一口气攻坚解决400个? - 少数派 AI 交易机器人怎么搭?我用 Claude 跑了一周实盘 - 少数派 Maptoposter Online:把你爱的城市画成艺术海报 - 少数派 Function Calling 怎么用?我测了 3 个模型发现差距真大 - 少数派 Legend Talk:我做了个 AI 圆桌,让 160 位思想家围着你的问题转 - 少数派 如何找到自己的蓝方?在小县城寻找压力测试 - 少数派 语音输入与软件接口|2026年聊AI时,我们都聊些什么(上) - 少数派 混动已经卖爆,纯电又来补刀——钛7闪充版简直“不讲武德” - 少数派 本月玩什么|朋友收藏、识质存在、沙罗周期 - 少数派 为什么要每天坚持输出? - 少数派 Claude API 挂了好几个小时,你的项目有备用方案吗? - 少数派 Function Calling 没你想的复杂——我用它做了个有点用的工具 - 少数派 登录系统立即播放视频或者图片音乐的软件 - 少数派 我为什么创建 FlipHTML5 下载工具 - 少数派 残局没电?多品牌外设电量统一管理软件EasyBluetooth已支持RTSS游戏内显示以及AIDA64 - 少数派 前往通义路的路 - 少数派 太好看了,媲美Sun的个人导航页,NAS部署星云门户 - 少数派 乌黑嘴唇“一键检测”上线了 - 少数派 派早报:Claude AI 接入多个创意软件生态、FILCO 生产方接手品牌等 - 少数派 【更新】BearCLI、Claude 连接器与 MCP 服务器 - 少数派 记了上千条流水,还是看不懂财务?我做了一个让 AI 读懂账本的工作台 - 少数派 MINI R56 升级原厂 Sport 模式 - 少数派 新玩意 | 一棵柠檬树(仿真版) - 少数派 Momenta的“物理AI”野望,需迈过“含摩量”这道关 - 少数派 网页直接投屏控制手机!NAS一键部署PandaScrcpy,流畅丝滑可远程。 - 少数派 众测|邀你一同探索随身 AI 硬件入口 YoooClaw C·ONE - 少数派 2050大会:分享时间是真诚 参会记 - 少数派 iPad 赋能电影创作:国内首部宣纸手绘长片《燃比娃》的幕后故事 - 少数派 AI的审美:我用 8 个大模型给 100 张旅行照片打分 - 少数派 普通人如何破圈?去参加一个本地协会 - 少数派 把极空间的图标全换了,主题DIY全攻略打造你的专属NAS桌面 - 少数派 电子便签墙,帮你实现便签自由 - 少数派 我如何用三个 CLI 工具取代文档创建需求 - 少数派 原来真的有人可以玩一辈子 - 少数派 社区速递 139 | 派友热议三月买了啥、复古单反尼康 Df 体验 - 少数派 06 作品的赏析与评价 - 少数派 TDS REVIEW|索尼 WF-1000XM6 降噪真无线耳机体验 - 少数派 35.98万起售的第二代腾势D9,我看重的不是堆料,而是不凑合 - 少数派 鼠须管 Squirrel 皮肤配置指北 - 少数派 从watch ultra2换到redmi watch6 - 少数派 派早报:阿里巴巴发布视频生成模型 HappyHorse 1.0 等 - 少数派 别迷信1M - 少数派 家人们天塌了!网盘“大封杀”,多个渠道多条路,NAS部署PanHub - 少数派 AI与人勾心斗角!NAS一键部署AI狼人杀,假日休闲必备。 - 少数派 电商必备!Comfyui工作流批量生图插件,一次生成12张!支持Nano banana pro模型 - 少数派 Comfyui工作流配置Gpt-image-2模型教程,0.03/张 - 少数派 OpenClaw第三方APi怎么配置?可使用Gpt-image-2模型 - 少数派 会员社区话题精选 Ep. 103 - 少数派
Obsidian 搭配 Vim Mode,提升中文写作体验 - 少数派
2023-01-31 · via 少数派

Matrix 首页推荐 

Matrix 是少数派的写作社区,我们主张分享真实的产品体验,有实用价值的经验与思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。 

文章代表作者个人观点,少数派仅对标题和排版略作修改。


过去半年,我认真地体验了 Obsidian(黑曜石)这款软件,深度使用了一段时间之后便果断退订了 Ulysses,将全部的文档都迁移到了 Obsidian。由于其平台的开放性,Obsidian 的定位不仅仅是笔记软件,更适合作为 PKM 工具使用。

关于 Obsidian 使用介绍的文章和视频已经数不胜数,通过阅读这些优秀的经验分享,让我快速掌握 Obsidian 的使用技巧。之前在 Obsidian 官方论坛里看到一篇文章 「VIM Mode - Quality of Life Improvements」,介绍了在 Obsidian 里如何高效地使用 Vim Mode ,而 Obsidian 吸引我的其中最重要的一点就是支持 Vim Mode 。过去我一直在各种 IDE 里使用 Vim Mode,已经熟悉了 Vim Mode 操作习惯和便利,仍记得在支持 Vim Mode 的 Markdown 笔记软件里,我还使用过一段时间的 Haroopad,可惜软件很久没有更新了。Obsidian 经过 2 年多迭代和各类 Vim Mode 周边插件支持,目前支持的 Vim Mode 能力已经能够我满足日常笔记和写作的需要,这篇文章就总结一下目前我是如何在 Obsidian 配置和使用 Vim Mode 以及对其周边插件进行完善。

1. Vimrc Support

想深度使用 Vim Mode 一定会用到 Vimrc Support 这个插件,配合自定义 .obsidian.vimrc 文件,实现丰富的 Vim Mode 键盘映射管理。经过各种摸索,我自己的配置文件目前如下:.obsidian.vimrc,接下来展开来介绍一下里面具体的配置。

按行跳转光标

    " Have j and k navigate visual lines rather than logical ones
    nmap j gj
    nmap k gk

    " I like using H and L for beginning/end of line
    nmap H ^
    nmap L $
    " nmap J 5j
    " nmap K 5k

按段落跳转光标

    " Moving to next/prev paragraph
    nmap [ {
    nmap ] }

按 Heading 跳转光标

    " Moving to next/prev heading
    exmap nextHeading jsfile .obsidian.markdown-helper.js {jumpHeading(true)}
    exmap prevHeading jsfile .obsidian.markdown-helper.js {jumpHeading(false)}
    nmap g] :nextHeading
    nmap g[ :prevHeading

按 Tab 跳转光标

    " Emulate Tab Switching https://vimhelp.org/tabpage.txt.html#gt
    " requires Pane Relief: https://github.com/pjeby/pane-relief
    exmap tabnext obcommand pane-relief:go-next
    nmap gt :tabnext
    exmap tabprev obcommand pane-relief:go-prev
    nmap gT :tabprev
    " Same as CMD+\
    nmap g\ :tabnext

光标跳转到上次编辑的位置

另外一个常用的功能是光标快速回退到上次编辑的位置,在 Obsidian 官方论坛里也有用户提出需求「Hotkey jump to previous caret position」,找到一个很巧妙的实现, nmap g; u<C-r>,限制是只能回退一步,且 Editing/Preview 模式切换之后会失灵。另外,Vim Mode 已经内置支持 gi 跳转到上次编辑的位置并切换到 insert 模式。

zz 键盘映射屏幕移动位置至 70%

zz 键盘映射默认会将文档当前行移动到屏幕中间位置,但是我习惯将当前编辑行移动到屏幕中上的位置,结合 jsfile 稍微调整一下 zz 屏幕移动位置。

    exmap scrollToCenterTop70p jsfile .obsidian.markdown-helper.js {scrollToCursor(0.7)}
    nmap zz :scrollToCenterTop70p

Surround Text with surround

Vimrc Support 插件支持了 surround 特性,进一步搭配 Admonitioncode block from selections 插件,无论在 normal mode 或 visual mode 下都可以通过 sa{x} 指令直接创建 admonition block 。

    " Surround Admonition
    " https://github.com/esm7/obsidian-vimrc-support/discussions/146
    exmap CodeBlockAdmonitionNote obcommand code-block-from-selection:17f30753-d5f4-4953-abed-5027a25ede58
    map san :CodeBlockAdmonitionNote
    exmap CodeBlockSelectionAdmonitionNote jscommand { editor.setSelections([selection]); this.app.commands.commands['code-block-from-selection:17f30753-d5f4-4953-abed-5027a25ede58'].callback() }
    vmap san :CodeBlockSelectionAdmonitionNote
键盘映射 san 直接创建 Admonition Block

搭配 Zoom 插件,按 Heading 进行 Zoom In 和 Zoom Out

    " Zoom in/out
    exmap zoomIn obcommand obsidian-zoom:zoom-in
    exmap zoomOut obcommand obsidian-zoom:zoom-out
    nmap zi :zoomIn
    nmap zo :zoomOut

    nmap &a :zoomOut
    nmap &b :nextHeading
    nmap &c :zoomIn
    nmap &d :prevHeading
    nmap z] &a&b&c
    nmap z[ &a&d&c
键盘映射 zi 按 Heading 进行 Zoom In

搭配 Stille 插件,切换 Focus 模式

    exmap toggleStille obcommand obsidian-stille:toggleStille
    nmap zs :toggleStille
    nmap ,s :toggleStille
键盘映射 zs 切换到 Focus 模式

直接在指定 IDE 打开 .obsidiain.vimrc 配置文件

在开发过程中,需要经常编辑 .obsidian.vimrc 配置文件,为了快速地在 Sublime Text 中打开配置文件,我找到了一个 workaround 的方法,利用 Shell commands 插件配置注册一个命令行 /usr/local/bin/subl {{vault_path}}/.obsidian.vimrc 命令,就可以通过命令直接唤起 Sublime Text 并打开 .obsidian.vimrc 文件。

Vim Mode 状态栏显示异常 Bugfix

Vimrc Support 插件 0.8.0 版本存在新打开文件之后 Vim Mode 在状态栏显示异常的问题,我提了第一个 PR ,在最新的 0.9.0 版本修复了此 bug ,还顺带修复了 Fixed Normal Mode Layout 功能。提交完 PR 之后,在 GitHub 上也开始尝试解答部分 issue。

2. Obsidian Vim Reading View Navigation

这个插件实现了在 Preview 模式下 j/k/gg/G 等光标跳转指令,不过该插件没有发布到 Community plugins 市场,只能手动安装。obsidian-vim-reading-view-navigation Allows navigating Obsidian's Reading View with j, k, gg and G

3. Obsidian Vim Yank Highlighter

高亮 yy 复制行,同样没有发布到 Community plugins 市场,只能手动安装。obsidian-vim-yank-highlight Highlights the current yank

中文编辑体验优化

常见的 Vim Mode 实现里对于中文的支持一般都是非常差的,「Vim 的中文支持及解决思路」这篇文章总结了在 Vim 中文编辑的问题和解决思路。得益于 Obsidian 的插件开放性,使得针对中文编辑体验进行专项优化成为可能。

1. 中英文输入法自动切换

使用 Vim Mode 中文写作,第一个遇到的瓶颈问题就是中英文输入法切换,在切换到 insert 模式自动切换到中文输入法,回到 normal 模式自动切换到英文输入法。目前,已经有一个插件  obsidian-vim-im-switch-plugin 实现了该功能,需要搭配 fcitx-remote-for-osx 这个命令行工具使用。我直接修改了源文件 main.m,替换默认输入法配置(com.apple.keylayout.ABC 和 im.rime.inputmethod.Squirrel.Rime),重新编译安装即可使用。不过该插件存在 bug,经常出现切换失灵的问题,提了 PR 修复,暂时还没有合入主干发布新版本。

insert/normal 模式切换和输入法切换同步

2. 按中文分词跳转光标

在 Vim Mode 使用过程中会遇到的另一个瓶颈问题是对于中文分词的逻辑跟英文不一样,「Vim 的中文支持及解决思路」这篇文章里详细讲述了可能的三种解决思路。在 Community plugins 市场里找了一圈也没有现成的解决方案,不过发现有一个插件 cm-chs-patch 实现了中文分词和双击选中的功能,于是花了一点时间在此基础上实现了 Vim Mode 按中文分词跳转光标的能力(支持 Vim 模式 by jiyee · Pull Request 19)。最新的 1.10.0 版本已经支持按中文分词跳转光标。不过,因为不能直接修改 Obsidian 里内置的 vim.js 内部实现,只能将 vim.js 的内部实现 fork 出来,好在相关实现属于比较稳定的部分,之后的升级适配应该不存在太大的困难。

按中文分词跳转光标

3. 按中文标点跳转光标

此外,在中文编辑过程中经常需要按断句跳转或编辑,开发支持了 f<charactor>t<charactor> 键盘映射输入英文标点跳转到对应的中文标点,例如在英文输入法状态下,输入 f, 会跳转到下一个 , 或者 ,我自己觉得这个特性还蛮实用的,在分词粒度和段落粒度之间补齐了语句粒度。因为实现相似,同样提交到了 cm-chs-patch 插件,不过我觉得放在的这个插件里并不是最恰当的,只是当时提 PR 的时候一起带上了。

在英文输入法状态下,输入英文标点跳转到对应的中文标点

自定义插件开发

此外,根据我自己日常使用中的习惯还依赖部分特性没有很好的支持,我正在着手开发一个 Obsidian-VimEx 插件,目前包括以下几个特性:

File Rename Modal

之前通过定义 gr<C-w>r 键盘映射到文件重命名功能,在启用 「Show inline title」选项之后,默认的 Rename file 行为会是跳转到文档头部的标题块,且标题文字处于全选状态,因为标题修改是一个高频的行为,就实现了一个简单的文件重命名弹窗,确保文件重命名动作不会干扰到现有的编辑状态。

" rename file modal
exmap renameFile obcommand Obsidian-VimEx:file-rename-modal
nmap gr :renameFile
键盘映射 gr 文件重命名弹窗

Mark 标记

我之前一直很少用 Vim Mode 里的 Mark 功能,主要的原因是经常忘记 Mark 的标记名称。如果能直接在编辑器里可视化标记 Mark 标记名称或者有一个 Mark 标记名称列表的话,对于跨段落的来回跳转会方便很多。目前已经实现的是,在行号右侧添加自定义的 Mark 标记名称,会联动 m{x} 键盘映射。

键盘映射 m{x} 同步展示标记名称

.obsidian.vimrc 可视化配置(计划中)

配置 .obsidian.vimrc 过程中发现想找到一个合适的参考配置其实挺不方便的,只有通过 GitHub 或论坛搜索的方式。如果能可视化配置,将全部特性都列出来,直接配置指令即可,甚至能够以社区共享配置的话就更方便了。这个可能会作为一个功能加到插件里。


最后,还有其他特性需求或建议欢迎留言或者提 issue,共同完善 Obsidian + Vim Mode 体验。

关联阅读

> 下载 少数派 2.0 客户端、关注 少数派公众号,解锁全新阅读体验 📰

> 实用、好用的 正版软件,少数派为你呈现 🚀