大家好,我是 Universal Cursor Hotkeys 的作者。
Obsidian 的实时预览(Live Preview)模式下,Markdown 表格一直有两个老问题:
- 谁都会遇到:Ctrl+←/→ 按词跳转时,中文会被当成一整段连续文字,一下子跳过一大片,而不是停在真正的词语边界
- Vim 用户尤其痛苦:
j/k在表格里经常跨不过行,w/b/e/gg/G/gj/gk各种奇怪的落脚点,表格内的 Vim 模式基本形同虚设
分别解决这两个问题的插件,社区里已经有了,但同时解决、而且互不冲突地解决,目前只有这一个插件做到——两个单一功能插件如果都想接管 Vim 同一套按词移动逻辑,加载顺序不同就会互相覆盖,谁也用不明白。
For everyone(不用 Vim,也一样有效)
不装 Vim 模式、不用 Emacs 风格快捷键也没关系。方向键、Home/End、Page Up/Down、Ctrl+←/→ 这些你每天都在用的按键,装上插件后自动获得表格感知和中文分词能力。
而且不是"暗地里"接管按键——每一项都是 Obsidian 标准 Hotkeys 系统里真实可见的一条设置,随时能在 设置 → 快捷键 里看到、关闭或者改绑快捷键,跟其他任何 Obsidian 快捷键完全一样。
设置也很简单,一个按钮全部搞定:
表格感知的分词,是这个插件真正的差异化
现有的中文分词插件中,大多没有考虑表格场景。这个插件从一开始就是围绕"表格里也要分词正确"设计的——不追求分词精度堪比专业分词库,但保证在表格单元格内外都能正确识别中文词语边界。
底层原理也是这两个问题能同时解决、且不冲突的原因:要让 Vim 的按词移动识别中文词语边界,就必须接管 Vim 自己的移动逻辑;如果同时装了另一个专门修复表格的插件,两者很可能抢着接管同一段逻辑,谁的修改生效完全取决于加载顺序,实际上没法真正同时用上两边的效果。
Vim 模式:h/j/k/l/w/b/e/gg/G/gj/gk 全部修好了
表格内逐字计数错误、行跨不过去、落脚点莫名其妙,这些问题这次全部修复。w/b/e 本身就是按词移动,所以中文分词的效果在 Vim 模式下同样生效,跟上面 For everyone 的体验是一致的。
下面的动图后半段就是实际演示。
Emacs 风格快捷键
如果你用的是 macOS 风格的 Emacs 快捷键(Ctrl+P/N/B/F/A/E 等),Kill & Yank 之类的编辑命令也都支持,包括在表格内。
演示

链接
详情见 GitHub 仓库。
觉得有用的话,也欢迎去 GitHub 点个
Star。
