diff options
Diffstat (limited to '.vim/plugin/zettel.vim')
| -rw-r--r-- | .vim/plugin/zettel.vim | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/.vim/plugin/zettel.vim b/.vim/plugin/zettel.vim new file mode 100644 index 0000000..948bb91 --- /dev/null +++ b/.vim/plugin/zettel.vim @@ -0,0 +1,43 @@ +" markdown extended for bullet journaling and personal wiki-keeping + +if exists('g:loaded_zettel') + finish +endif +let g:loaded_zettel = 1 + +if !exists('g:zettel_root') + let g:zettel_root = expand($HOME.'/wiki') +endif + +if !exists('g:zettel_create_on_empty') + let g:zettel_create_on_emtpy = 1 +endif + +if v:progname =~ 'vimdiff' + let g:zettel_create_on_empty = 0 +endif + +function! <SID>make_new_zettel() + let l:pastebackup = &paste + set nopaste + + 0 put ='---' + read !yq n date $(date -Iseconds) | yq w - title "%:t:r" + put ='---' + call feedkeys('Go', 'n') + + if pastebackup == 0 + set nopaste + endif +endfunction + +command! -nargs=0 NewZettel call <SID>make_new_zettel() + +augroup NewZettel + au! + au BufNewFile *.md + \ if expand('%:p') =~# fnameescape(g:zettel_root).'/.*.md' | + \ call <SID>make_new_zettel() | + \ endif +augroup END + |