Terminal pogryzł człowieka: memo

O czym to ja miałem… A tak, o tym, że pamięć ludzka jest zawodna. Jest na to prosty sposób, wystarczy kartka, ołówek, lub dedykowany program na komputerze. Co więcej, nawet zapominalscy korzystający z terminala mają do dyspozycji kilka narzędzi, które wspomogą nasze wybiórcze zapamiętywanie planów, spotkań, itp. Jedną z takich niewielkich pchełek o filozofii działania na modłę Uniksa jest memo.

Memo
Memo jest prostym, ale funkcjonalnym i tekstowym menadżerem naszych notatek. Powyższe determinuje sposób użytkowania tego programu – wszystkie operacje przeprowadzimy wpisując nazwę memo oraz odpowiednie parametry. No ale czy powinniśmy oczekiwać czegoś innego?

Zarządzanie notatkami nie wymaga jakiegoś wybitnego algorytmu i wydumanych funkcji. Za pomocą Memo zapiski możemy dodać, usunąć, zaznaczyć jako wykonane, lub nie. Na tym nie koniec, bo będziemy mogli również je przeszukiwać, eksportować oraz modyfikować.

OPTIONS

    -a <content> [yyyy-MM-dd]        Add a new note with optional date
    -d <id>                          Delete note by id
    -D                               Delete all notes
    -e <format> <path>               Export notes a file
                                     Format must be either csv or html
    -f <search>                      Find notes by search term
    -F <regex>                       Find notes by regular expression
    -i                               Read from stdin until ^D
    -l <n>                           Show latest n notes
    -m <id>                          Mark note status as done
    -M <id>                          Mark note status as undone
    -o                               Show all notes organized by date
    -O                               Reorder and organize note id codes
    -p                               Show current memo file path
    -P [id]                          Show postponed or mark note as postponed
    -R                               Delete all notes marked as done
    -r <id> [content]/[yyyy-MM-dd]   Replace note content or date
    -s                               Show all notes except postponed
                                     (Same as simply running memo)
    -T                               Mark all notes as done
    -u                               Show only undone notes

    -                                Read from stdin
    -h                               Show short help and exit. This page
    -V                               Show version number of program

Jak zainstalować Memo? Niestety, programu nie znajdziemy w repozytoriach, musimy pobrać sobie własnoręcznie paczkę ze źródłami i program skompilować. Brzmi odstraszająco? Bez obaw, rzeczona kompilacja sprowadza się do:

tar zxof memo-1.5.tar.gz
cd memo-1.5
make
./memo

Otrzymaną binarkę memo możemy dla wygody skopiować do /usr/bin:

sudo make install

Teraz pozostaje zapoznać się nam z parametrami oraz odkryć różnorakie sposoby wykorzystania poręcznego Memo. Czy to jako wyświetlanie przypomnienia w Conky, proste wyświetlenie przypomnień po zalogowaniu się w terminalu (.bashrc), czy może wespół z CRONem. Możliwości jest tyle, na ile potrafimy wykorzystać specyfikę terminala, potoków, przekierowań i innych linuksowych przywar.

Gdyby ktoś miał wątpliwości:

memo -a "To jest notka"

… dodaje nową notatkę z dzisiejszą datą.

memo -a "To jest notka" 2015-06-01

… dodaje notatkę z datą 2015-06-01.

memo -o

… wyświetla notatki z wyróżnieniem daty.

memo -d 1

… usuwa notkę o numerze 1.

I tak dalej, i tak dalej.