53 lines
1.9 KiB
Markdown
53 lines
1.9 KiB
Markdown
mind mapping has been useful to me for years now but i've been displeased with all the virtual tooling for it. i don't entirely mind doing them on pen and paper but routinely reach for them when at the computer and it feels like a phantom limb to not have software for it.
|
|
|
|
i don't like how tablet/mouse oriented what i've found is...or how expensive. i also prefer text mode stuff in general bc i can focus on it better.
|
|
|
|
but i have mostly been unable to imagine a good interface design for text mode mind mapping.
|
|
|
|
what about a modal approach with a tiny command line?
|
|
|
|
the verbs in mind mapping are:
|
|
|
|
- new node
|
|
- find node
|
|
- new edge
|
|
- edit node
|
|
- pan around
|
|
|
|
from normal mode:
|
|
|
|
- i to create top level note in the current field
|
|
- / to search for a node in current field
|
|
- select from fzf style list
|
|
- ? to search for nodes in all fields
|
|
- hjkl to pan around
|
|
- HJKL to big pan around
|
|
- c to connect to existing node (fzf search again)
|
|
- \+ to zoom in, bigger boxes + less truncation
|
|
- \- to zoom out. zooming out is smaller boxes + truncated text
|
|
- N to create a new field
|
|
- pgdn to cycle fields L->R
|
|
- pgup to cycle fields R->L
|
|
|
|
from focused node mode:
|
|
|
|
- escape to go to normal mode
|
|
- i to create new node edged from this node
|
|
- e to edit node (subwindow with $EDITOR embedded)
|
|
- m to maximize node contents
|
|
- hjkl to navigate the edges
|
|
- enter to activate highlighted edge and go to connected node
|
|
|
|
the big open question to me is placement. i want to auto suggest a place for
|
|
new nodes (top level or not) but then leter user move around. i think it's best
|
|
to just allow overlapping? i could program finding a place but it seems like
|
|
too much effort.
|
|
|
|
as for storage, i think anything short of sqlite would lead to a lot more complexity and work.
|
|
|
|
future directions:
|
|
|
|
- extracting hierchical lists from a root node
|
|
- convert to set of markdown file
|
|
- auto sorting of nodes to fill space
|