Vim plugin to help edit Obsidian notes in Vim. Links, backlink resolution and jumps, search and completion and highlighting. Even if you don't use Obsidian, you can use it to manage your notes locally.
This plugin was made for me, but I hope it will be useful for those who want to easily edit Obsidian notes with vim as I do. If you have trouble using it, please post an issues below. Contributions, edits and distribution are also welcome.
In my earlier days, I used to divide notes in directories and manage note relationships by describing relative paths. However, I had trouble categorizing notes and spent a lot of time resolving note paths. I needed to achieve the following.
For me, vimsidian is the plugin that solves these issues and complements my PKM (personal knowledge managment).
Use your favorite plugin manager.
Plug 'kis9a/vimsidian'
.obsidian
file or directory in your obsidian vault directory.If the current working directory contains a .obsidian
file or directory, it will be recognized as an Obsidian vault.
~/.vim/ftplugin/vimsidian.vim
if exists("b:loaded_vimsidian_ftplugin_mappings")
finish
endif
let b:loaded_vimsidian_ftplugin_mappings = 1
nnoremap <silent> <buffer> <C-k> :VimsidianJump<CR>
nnoremap <silent> <buffer> <2-LeftMouse> :VimsidianJump<CR>
nnoremap <silent> <buffer> sk :VimsidianPrevLink<CR>
nnoremap <silent> <buffer> sj :VimsidianNextLink<CR>
nnoremap <silent> <buffer> sl :VimsidianFindLinks<CR>
nnoremap <silent> <buffer> sg :VimsidianFindBacklinks<CR>
nnoremap <silent> <buffer> st :VimsidianFindTags<CR>
nnoremap <silent> <buffer> sN :VimsidianSearchNotes<Space>
nnoremap <silent> <buffer> sL :VimsidianSearchLinks<Space>
autocmd WinEnter,BufEnter <buffer> silent! VimsidianMatchBrokenLinks
autocmd CursorMoved <buffer> silent! VimsidianMatchCursorLink
See Vim doc - Syntax highlight, Variables and Commands help
:h vimsidian