Core Philosophy
Vim-centric workflow - Replicating vim/neovim keybindings and workflow in Obsidian for consistency across all editors.
Installed Plugins (9)
| Plugin | Purpose |
|---|---|
| obsidian-vimrc-support | Vim keybindings with custom .vimrc |
| obsidian-another-quick-switcher (AQS) | Enhanced file finder with recent files, fuzzy search |
| omnisearch | Full-text vault search |
| pane-relief | Per-tab history enhancement |
| obsidian-hover-editor | Floating editor windows |
| quick-explorer | Quick file navigation |
| attachment-management | Organize attachments |
| journals | Journal/daily notes |
| quickadd | Quick capture templates |
Vim Keybindings (.obsidian.vimrc)
| Key | Action | Vim Equivalent |
|---|---|---|
j/k | Visual line movement | gj/gk |
<C-o>/<C-i> | Navigate back/forward | Jump list |
\ff | File search (AQS) | :Files |
\fr | Recent files (AQS) | :History |
<C-p> | Quick switcher | :Files |
\sg | Search vault (Omnisearch) | :Rg |
\sb | Search in file | :BLines |
gd / \rj | Follow link (new tab) | gd go to definition |
gh | Open link in new tab | LSP hover (adapted) |
[b/]b | Previous/next tab | Buffer navigation |
\e | Toggle sidebar | NERDTree toggle |
\E | Reveal file in explorer | NERDTreeFind |
<Space> | Toggle fold | za |
\cp | Copy relative path | Same |
\cP | Copy Obsidian URL | Copy absolute path (adapted) |
:vs | Vertical split | Same |
:q/:Q/:wq | Close tab | Same |
:w | Save file | Same |
Global Hotkeys (hotkeys.json)
| Hotkey | Action |
|---|---|
Cmd+P | Quick Switcher |
Cmd+Shift+P | Command Palette |
Cmd+Shift+F | Omnisearch |
Core Settings (app.json)
| Setting | Value | Purpose |
|---|---|---|
vimMode | true | Enable vim bindings |
newFileLocation | ”folder” | New files go to specific folder |
newFileFolderPath | ”inbox” | Inbox workflow for new notes |
attachmentFolderPath | ”assets” | Organized attachments |
alwaysUpdateLinks | true | Auto-update links on rename |
newLinkFormat | ”relative” | Use relative paths for links |
Key Features You’re Looking For
-
Vim Muscle Memory - Same keybindings across vim, neovim, VSCode, Cursor, and Obsidian
-
Efficient Navigation
- Quick file switching (
\ff,\fr,<C-p>) - Tab/buffer navigation (
[b,]b) - Back/forward history (
<C-o>,<C-i>)
- Quick file switching (
-
Powerful Search
- Full-text search (
\sg) - In-file search (
\sb)
- Full-text search (
-
Link-based Workflow
- Follow links to new tabs (
gd,\rj,gh) - Relative link paths
- Follow links to new tabs (
-
Split/Pane Management
- Vertical splits (
:vs) - Close tabs (
:q,:wq)
- Vertical splits (
-
File Organization
- Inbox pattern for new files
- Organized attachments in
assets/ - Auto-updating links
Known Limitations
| Feature | Vim | Obsidian |
|---|---|---|
| Global jump list | ✅ | ❌ Per-tab only |
\fb buffers | ✅ | ❌ Use [b/]b |
gh hover preview | ✅ LSP | ⚠️ Opens in new tab instead |
<leader> keyword | ✅ | ❌ Use literal \ |
Summary
目前还是先放弃了。 总体来讲 Obsidian 应该是主药面向鼠标用户设计的。我暂时还是先用 Foam 凑合吧。 之后看看要不直接用 obsidian.nvim 而不是 obsidian app 来用???包括那个 Note Navigator 插件,应该也是面向鼠标用户的。倒是跟 Apple Note 很契合。
-
gh 的这个 hover 的功能无论如何搞不定
- Obsidian 原生的 cmd + mosue hover 的功能,没有命令可以供 vimrc 去绑定。
- Hover Editor 那个其实也不是干这个用的,而且没有 close popover 的命令,导致只能打开,却没办法关闭。
- 如果强行用 workspace:close 绑定到 ‘q’ 关闭 popover,只会导致在平时的 note 上, ‘q’ 也会导致这个 tab 直接被关闭。。。
- 所以最后就没有什么好办法可以只用 ‘gd’ keybinding 直接搞定 hover preview 的。
-
一大堆的插件,一个个安装配置,说实话有点顾不过来了。相当于又要维护一套配置,有点受不了了。而且几乎每个功能几乎都要单独考虑插件。
-
VIMRC 的插件基本上需要我针对每一个使用的功能都创建命令以及 keybinding。维护成本太高了。