
TL;DR
Use Obsidian instead of Notion or Roam Research if you want a Vim-like experience as much as possible.
Introduction
I had tried a lot of Personal Knowledge Management system (PKM) over the years: from evernote to Notion to Logseq to Emacs’ Orgmode to Roam Research to many more. I have finally settled on Obsidian.
Why Obsidian?
I’m a Neovim die-hard user. With Obsidian it’s possible to emulate vim experience as much as possible with the following:
- built-in Vim support
- obsidian-vimrc-support
- obsidian-jump-to-link that emulates lightspeed.nvim!
Here’s my .obsidian.vimrc:
" Finding Obsidian Internal Commands
" 1. `:obcommand`
" 2. Press `Ctrl + Shift + I` to open Developer Tools
" 3. Copy the output
" Yank to system clipboard
set clipboard=unnamed
imap jk <Esc>
" navigate visual lines rather than logical ones
nmap j gj
nmap k gk
vmap j gj
vmap k gk
" nmap m zz
nmap <C-d> 10gj
nmap <C-u> 10gk
" nmap J 5gj
" nmap K 5gk
" yank till end of line
nmap Y y$
vmap J 5gj
vmap K 5gk
" <Space> can be bound to make chords, such as <Space>fs
unmap <Space>
" quit
nmap qq :obcommand<space>workspace:close<CR>
nmap <C-j> :obcommand<space>editor:swap-line-down<CR>
nmap <C-k> :obcommand<space>editor:swap-line-up<CR>
nmap za :obcommand<space>editor:toggle-fold<CR>
nmap zM :obcommand<space>editor:fold-all<CR>
nmap zR :obcommand<space>editor:unfold-all<CR>
" Go previous
nmap <C-o> :obcommand<space>app:go-back<CR>
" Go forward
nmap <C-i> :obcommand<space>app:go-forward<CR>
nmap gf :obcommand<space>editor:follow-link<CR>
nmap gF :obcommand<space>editor:open-link-in-new-leaf<CR>
nmap <A-l> :obcommand<space>editor:focus-right<CR>
nmap <A-h> :obcommand<space>editor:focus-left<CR>
nmap <A-k> :obcommand<space>editor:focus-top<CR>
nmap <A-j> :obcommand<space>editor:focus-bottom<CR>
nmap <C-w>v :obcommand<space>workspace:split-vertical<CR>
nmap <C-w>s :obcommand<space>workspace:split-horizontal<CR>
nmap <C-w>c :obcommand<space>workspace:close<CR>
" Find files and string
nmap <C-g> :obcommand<space>omnisearch:show-modal<CR>
nmap s :obcommand<space>mrj-jump-to-link:activate-lightspeed-jump<CR>
Sometimes the mouse is unavoidable but still the above is a good starting point.
Getting Started
{
home.packages = with pkgs.stable; [
obsidian
];
}
Conclusion
Given Obsidian is free you can just try it to see if you like it!