memo − unix-style note-taking software
Memo is a note-taking software for POSIX compatible operating systems. The short notes are saved to user’s home directory in ~/.memo file by default.
-a, --add <content> [yyyy-MM-dd]
Add a new note
-d, --delete <id>
Delete note by id
Delete all notes
-e, --export <format> <path>
Export notes to a file. <format> must be either csv or html
-f, --search <search>
Find notes by text search
-F --regex <regex>
Find notes by regular expression
Add multiple notes from stdin
-l, --latest <n>
Show latest n notes
-m, --set-done <id>
Mark note status as done
-M, --set-undone <id>
Mark note status as undone
Show all notes organized by date
Reorder and organize note id codes
Show current memo file path
-P, --postpone [id]
Show postponed or mark note as postponed
Delete all notes marked as done
-r, --replace <id> [content]/[yyyy-MM-dd]
Replace note content or date
Show all notes except postponed. Same as typing command memo
Mark all notes as done
Show only undone notes
Read from stdin
Show short help and exit. This page
Show version number of program
Add a new note:
memo -a "Remember to buy milk!"
Add a new note
with custom date:
memo -a "File taxes" 2014-10-14
Search memos by
memo -f buy
4 2014-10-10 Remember to buy milk
4 with new text:
memo -r 4 "Remember to buy cheese"
Add note from
echo "My new note" | memo -
Mark note as
memo -P 4
Postponed notes are not shown by default. Postponed note can be marked as undone or done normally using -m or -M flag. Only undone notes can be postponed.
It’s possible to change the location (and name) of the .memo file. Create $HOME/.memorc (or $XDG_CONFIG_HOME/.memorc) with a line MEMO_PATH=/path/you/would/like , Memo will use that path instead of the default $HOME/.memo path.
It’s also possible to set memo path using an environment variable. For example: export MEMO_PATH=/path/to/some/file. If MEMO_PATH environment variable is set that will be used. If it’s not set, Memo will try to read .memorc for MEMO_PATH. If the file does not exist or has errors, Memo will use $HOME/.memo file to store the notes.
1.3 -D option asks for confirmation before deleting all
notes. It’s possible to disable this confirmation via
.memorc property. To disable the confirmation add
1.5 it’s possible to set a property MARK_AS_DONE in
.memorc. The property takes a valid date as a value. For example: MARK_AS_DONE=2014-12-23. If the property is set Memo will mark all notes older than the property value as done automatically.
On some terminal emulators with Bash you can’t use exclamation mark if Bash history expand feature is enabled. For example: memo -a "This is a test note!" 2014-12-20 would fail. Some terminal emulators workaround this (Gnome Terminal for example). You might want to disable Bash history expand if you don’t use it by putting set +H to your ~/.bashrc. Please note, that this is not a bug in Memo, or in Bash. It’s a feature of Bash.
$HOME/.memo $HOME/.memorc, $XDG_CONFIG_HOME/.memorc
Since version 1.6 Memo has support for colors. Color support can be enabled in .memorc by setting USE_COLORS=yes. By default Memo uses blue for odd lines and magenta for even lines. These can be modified via .memorc properties LINE_COLOR and ODD_LINE_COLOR. Supported colors are:
Written by Niko Rosvall and contributors.
Copyright (C) 2014-2019 Niko Rosvall <email@example.com>
Released under license GPL-3+. For more information, see http://www.gnu.org/licenses