Stupid shell script to manage markdown notes from cli.
- git – to keep notes tracked
- ripgrep – to search through note contents
- exa – to list notes and folders
- bat – to view notes with syntax highlighting
- A terminal text editor is recommended
Notes are stored in $NOTEDIR
, which defaults to ~/notes
.
Run note name
to create and/or open ~/notes/name.md
, or note notebook/name
to create and/or open ~/notes/notebook/name.md
. If you use vim/nvim as your $EDITOR
, opening directories is supported as well by passing a path like note notebook/
.
“Tags” are just words starting with the #
symbol, with no space (for example #linux
).
$ note --help
Usage: note [command|option] NOTE
If no command or option is provided, the program will open the NOTE path in nvim.
The default NOTE path is: /home/nithe/notes.
NOTE should refer to a subdirectory or a filename (without extension) within /home/nithe/notes.
Arguments without a leading '-' are treated as commands and must appear as the first positional argument.
Commands / Options:
ls, -l, --list List notes in the NOTE path
rm, -d, --delete Delete a note from the NOTE path
s, -s, --status Show the Git status of the NOTE path
v, -v, --view View the NOTE path using `bat`
f, -f, --find QUERY Search for QUERY in notes content
ft, -t, --tags TAGS Search for notes by tags (separator-separated).
The separator can be:
- "or": regex OR match
- "and": inserts `.*` between tags (experimental)
- <space>: equivalent to OR
-h, --help Show this help message and exit
sudo curl https://raw.githubusercontent.com/Nithe14/note/refs/heads/master/note > /usr/local/bin/note; sudo chmod +x /usr/local/bin/note
sudo curl https://raw.githubusercontent.com/Nithe14/note/refs/heads/master/completions/note_completions.sh > /usr/share/bash-completion/completions/note
curl https://raw.githubusercontent.com/Nithe14/note/refs/heads/master/completions/note_completions.fish > ~/.config/fish/completions/note.fish
Refer to your distro zsh documentation for installation details.
The completion script is available here: note_completions.zsh.
The autocompletion does not suggest options/commands cause there are too few to care about. Instead, it suggests files and directories from your $NOTEDIR
.
Create your first note, and you’ll see how it works in practice.