My Smart Notes
In my note-taking system I divide my notes into four types:
- Standard notes,
- Project notes,
- Literature notes,
- Permanent notes,
and for each type, I use a dedicated desktop application. Standard, Project, and Literature notes can be jointly managed by adding their folders to the notes_directories option defined in the Vim-notes plugin and with VIM as the default text editor.
Standard Notes
My standard notes are mostly unformatted, plain text notes that can be quickly edited. Wintermnote facilitates their management within a single dedicated folder.
Project Notes
Project notes are also unformatted plain text notes attached to a TODO, and generated from the CSVTODO desktop application; they include the tag @project_name where name is the name of the project. A list of all tagged notes can be displayed inside a VIM buffer with:
:ShowTaggedNotes
Literature Notes
Literature notes can be created from the command line pubs. Bibliography entries are stored using the BibTeX format in a set of files, one for each bibliography item. To consolidate them into a single database I use the following vlang program:
// filename: pubstobib.v
import os
fn main() {
pubshome := os.home_dir()+'/.pubs'
files := os.ls(pubshome+'/bib') or {
println(err)
return
}
mut f := os.create(pubshome+'/pubs.bib') or {
println(err)
return
}
for file in files {
println(file)
content := os.read_file(pubshome+"/bib/"+file) ?
f.write_string(content + '\r\n') ?
}
f.close()
}
Or the command:
pubs.exe export
Coc Bibtex
Vim autocompletion for bibliographical items can be obtained with this extension and enabled for the specific file-type used by Vim-notes as shown my configuration file below:
// coc config file for gvim
{
"coc.source.bibtex.filetypes":["tex", latex", "pandoc", "markdown", "notes"],
"list.source.bibtex.files":["C:\\Users\\Seve\\.pubs\\pubs.bib"],
"snippets.ultisnips.enable": false, // required if python not installed
"coc.source.emoji.filetypes": [
"notes"
]
}
The following short video shows how it's relatively easy to replace a Pandoc reference with a tag.
Permanent Notes
One or more standard notes can become the basis for a more complex permanent note that I usually share on this website in the blog journal section. Vim-notes command :NotesToMediawiki allows me to easily include a note within my static website.