As I spend most of my time in the terminal - I use my own bash-based note-manager application for keeping general notes, which I imaginatively called "note":
A simple cli based note taking application written in shellscript
www.notabug.org
I created it 8 years ago and have used it almost every single day since. A few years ago, I uploaded it to a git repository at notabug.org and publicly released it, in case anybody else found it remotely useful. So far, it probably just serves as a bad example of yet another note-taking application in bash, ha ha!
But it does everything I need. It collects all of my notes in a single directory. I can list all notes alphabetically, or by file-size. I can search for notes containing a search term/key-word. I can delete notes. I can view notes in a terminal based pager like more, or less, or a browser like w3m, or lynx. I even have it set up to read my notes to me using espeak in a Brummie (Birmingham, UK) accent.
But most importantly I can quickly load/edit/create my notes in the terminal, regardless of where I am in the file-system using:
note filename
If the specified file already exists in my notes directory - it gets opened in my default text editor (vim), if it doesn't exist - the editor opens a new file with the specified name and it gets saved to my notes directory.
So I use my note application (note) for taking detailed, general notes.
e.g. If I find out some new programming trick, or I need to make some notes for a course I'm doing. Or just to record some random thoughts.
And to export my notes, I just have a --backup command that creates a .tar.gz, which I can copy to another machine. It's not a sophisticated setup. I don't generally transfer notes to other machines - I use note to keep notes on individual machines. So my work PC has one set of notes and my personal laptop has another set of notes!
To allow my note application to be useful to others - I have also created a configuration program called notesettings - which allows users to set up a couple of simple options.
e.g. path to default text editor, path to default pager, whether or not to keep any backup files created by the text editor.
There are probably a raft of improvements that could be made to "note" - but I just haven't had the time, or the inclination. It does everything I need it to!
Stup is another bash-based note-taking solution, created by fellow linux.org user
@iridakos (
https://linux.org/members/iridakos.45661/):
Daily notes in the terminal :penguin:. Contribute to iridakos/stup development by creating an account on GitHub.
github.com
Ever since my development team at work switched to agile development, I've been using "stup" for taking daily notes, in the terminal, to prepare me for the morning scrum/standup-meeting.
So I use my "note" application for general notes, but I use "stup" to keep detailed daily records of work that I've done, via a series of brief notes that are added throughout the day.
e.g. Tasks done, time spent on tasks, tasks that are still TODO. Any problems, or blocker bugs. Or other time-sinks like phone-calls, or meetings, or training, or technical conversations with colleagues, interactions with customers/management etc.
Basically - every time something gets done, or something significant happens, I'll add a brief note using stup.
That way, when I have a scrum/standup-meeting with the rest of the team the following morning - I can run stup without any parameters, to see all of the notes from the previous work day. That way I can brief the rest of the team on my previous days progress, without forgetting anything.
So if you're a developer using the agile/scrum methodology and you spend a lot of time in the terminal, then stup is extremely useful IMO!