papis / papis-vim

A vim package to interact with vim
GNU General Public License v3.0
16 stars 4 forks source link

General VimWiki and Markdown Integration #5

Open jessebett opened 5 years ago

jessebett commented 5 years ago

Expanding #4 and the blurb I just dumped in https://github.com/papis/papis/issues/236.

Papis with vim integration would make a really nice companion to VimWiki as a research notebook and VimwikiDiary as a research journal.

Right now there is a bit of decision fatigue. Suppose I read a paper today as part of some project, do I:

Making Papis integrate with vimwiki (markdown) syntax to allow me to easily drop vimwiki links to the notes file massively simplifies this. I can have and eat all 3 cakes at once by just keeping the notes in the Papis notes file and linking to them from my VimWikiDiary or VimWiki project entry.

At the moment it would be sufficient to have a :PapisNoteWikiLink (or more generally :PapisNoteMarkdownLink) function which opens the TUI for selecting a document and then exports the path to the notes file (relative to the vimwiki, that might be a bit annoying). It doesn't even need to do the templating stuff, because it could just return [](rel/path/to/notes) and let the user supply their own link text in the [] spot.

However this function is written would guide other convenience functions. E.g. :Papis currently supplies the bibtex cite command, e.g. for Latex. A custom function like :PapisTemplate which could read a custom template specified in the vimrc (like {doc[title]} {doc[author]}) and then reads that into the file. This would be a convenience function together with the above :PapisNoteWikiLink to put some text-formatted citations inside markdown files.

michal-h21 commented 5 years ago

Take a look at Vim-Zettel, which is a plugin that implements the Zettelkasten method on top of VimWiki. It can import a temporary file to wiki using

 vim -c ZettelCapture temp.txt

The contents of the file is replaced with a path to the new wiki note. Basic usage is as follows:

  papis export  -o temp.txt && vim -c ZettelCapture temp.txt

This will create a wiki file with bibtex information of the selected publication, the temp.txt then contains the full path to the new wiki file.

I've planned to use this command together with Papis - my plan was to write a script that will let me select an item from Papis database and open a corresponding wiki page if it already exists. It if doesn't exist, then create a temporary wiki file with the basic bibliographic info, import it to Vimwiki, and save the link to the wiki file in the Papis record. I haven't done it yet, though.