Personal Wiki for Vim
github.com
github.com
1. When should I write something here?
2. How should I organize it?
For this reason, I'm currently trying out more of a "journal" model. The answers to the previous two questions are: 1. Write whenever you have an interesting idea, or you get that
feeling that something important is about to get evicted from
your brain cache.
2. Every note goes in YYYY-MM-DD.md on the day you make the note.
You can add #tags to entries to track your thinking or progress
on a particular topic over time.
I've just started this, so we'll see how it turns out. But I'm optimistic.vimwiki allows for maintaining a "journal" through diary mode: it automatically creates diary entries with whatever file-naming scheme you want, organizes a diary index page (table of contents), etc.
That said after locking myself into Spacemacs to use org-mode and org-capture, I always wish there was a way to make org a bit more independent of Emacs, or at least a bit more collaborative. We use Asana at work for tasks / issues / todos and syncing that between my TODO.org and back again can be tiresome when trying to preserve information and context. I'm definitely better at maintaining my org files, but Asana preserves context in a more clean way because people can collaborate and add information to tickets, whereas they can't do that with org files.
I actually recommend against putting everything in a diary, because I want my notes regarding a topic to be collected in the same place.
Here's a bug someone filed that hasn't even so much as gotten a response after nearly eight months:
https://github.com/zim-desktop-wiki/zim-desktop-wiki/issues/...
I've been working on the new user interface for Emvi [1] for the past three months or so and once you have build the muscle memory, you can use it blindly. You can read about it here [2] if you like and find current screenshots/gifs on Twitter [3].
One thing that might have turned people away from learning keyboard controls is that they get overwhelmed by a ton of different shortcuts. We (hopefully) solved this issue by using commands (words) you can type out instead of remembering two or more keys.
[2] https://emvi.com/blog/a-new-experimental-user-interface-QMZg...
Other than that issue, Zim is brilliant. The developer is very responsive to most issues and feature requests. Sadly, Zim wasn't for me as many of my notes involve code.
Also, I greatly enjoy that it allows for making local references in between your wiki files. A simple link towards another wiki- or diary-entry allows you to jump to that note. It is not only nice for navigation, but also to explore connections between your thoughts. To understand those connections better, I create a simple script (vimwikigraph [0]) to draw these connections using the DOT language [1].
In that way it is similar to Roam [2] I think, although I have not used it myself.
[0] https://github.com/maxvdkolk/vimwikigraph
Or you can be lazy and install a plugin that takes thirty seconds to get the hang of.
Actually writing and staying organized has been challenging due to the fact I don't focus well. Spending time recreating vimwiki is time not spent staying organized. Vimwiki has low friction so I use it.
I suppose that it is not that difficult to recreate the basic behaviour of vimwiki with custom commands and navigating with `gf` between your notes. However, for me vimwiki provided an easy way to get started in an environment where these commands were provided out of the box. Since then, I have gotten used to, and somewhat attached, to vimwiki and have kept using it.
It's also all self-contained within one folder, but I can stick it behind a server and access the files from wherever. Without having to rely on syncing tools like nextcloud.
Tiddlywiki is actively developed and has a healthy amount of plugins, including a mindmap like plugin.
Things I've liked:
* Now supports Markdown, including for internal linking instead of just the Vimwiki markup
* I'd use just straight Vim, but being able to select a phrase, and quickly make a page to that and link them is nice.
* The HTML and link handling is nice, and it will auto hide the long URLs unless you're actively on them
* Outlines, outlines, outlines. I use them for everything, and they're handled well
* I'll even throw in the occational table, and the auto formatting also works for tables.
* At the end of the day, everything is Markdown text files.
One of the things I love about PyCharm when dealing with Markdown is that you get a nice preview rendering side-by-side with the raw Markdown. Very useful. I'm not sure if VS or VS Code have something similar. At least VS Code, if it's possible, it's not enabled by default. Might be possible with an extension.
But, I recently dumped all my vimwiki markdown files into Obsidian and have really been enjoying that experience. Same local files with an upgraded visual experience and some neat linking features.
It has basic vim bindings, unlike roam and others, and that makes all the difference. I just wish I could use vim keybindings to switch between panes but I hope they’ll address that at some point.
I found it via this recent HN post: https://news.ycombinator.com/item?id=23324598
I also use github.com/Konfekt/FastFold to make the folding fast enough to be useful, and github.com/plasticboy/vim-markdown to make vim understand the right way to fold.
Switching to a plain text file that syncs to GitHub feels more permanent.
I've gone through several note apps (e.g. Evernote, Joplin) and I never really migrated the notes to the new app...
Anyway, I have my own apps to share. They might be useful to others.
* I use https://github.com/tanin47/git-notes to sync my note file to a bit repo
* A programmable tooltip on Mac. You can program it to send the selected text on any app to your note file: https://github.com/tanin47/tip/wiki/Universal-Tip,-a-program...
It sort of started as a fork. And at the time, the Vimwiki maintenance was quite inactive and issues were not addressed. I tried to fix things, but the code was quite messy.
I only started using vim at the end of last year so am still very inexperienced. I'm not sure what a file type plugin is and to be honest had a hard enough time I stalling plug to get vimwiki installed. I'll take a look at wiki.vim too. I like the idea of the diary/journal. I use that in zim-wiki all the time.
Thanks again for the reply.
I am not an org mode user, but I've heard people gush over it.
Org-mode: "Org mode is for keeping notes, maintaining TODO lists, planning projects, and authoring documents with a fast and effective plain-text system." via https://orgmode.org/
See also: https://orgmode.org/features.html
It does have the emacs string attached but I've been using doom emacs with it (for vim keybindings) and the learning curve is 100% worth it. 3 weeks in and I haven't looked back here.
It's such a nice piece of code, and the author and community are fantastic. Asking for help is encouraged, as is sharing your modifications to the standard workflow.
It's also actively developed, and as such new features are frequently popping up.
I also haven't been able to find a solution that would easily be publishable, with the right format for me to search over it.
(Another meta problem is that every time I try to consistently use a wiki it I seem to fall in the types of thoughts that the previous paragraphs show, and I simply get discouraged and drop the project)
On a side note: The 3rd screenshot. Is that really possible? Shifting all done tasks to the done section automatically? Or is this just manually arranged for the sake of a screenshot?
Obviously vim isn't particularly mobile friendly. Any ideas on how to view/edit from afar?
Admittedly I don't use Markor very frequently, and often just use Evernote instead when I'm on my phone and want to jot down something quickly... This is mostly because I feel the need to organize in folders etc when using Markor and vimwiki, so my mental model of it includes a bit more friction compared to Evernote.
Work I tried many times to have lists. Doesn't work either. I just have text files and or mindmaps about things I'm workin on. It contains everything what I'm thinking, code snippets, links to websites, meeting minutes, short todo items or things I'm waiting on. Doesn't really have any form it evolves. After I'm done that os my little knowledge base of the thing I worked on.
This is the easiest way to describe what I do.
All you do is go to the dir, do a git init, and then regularly you do an add and commit (and push).
Really simple due to the fact that all files are just plain text with markdown syntax.