helpme
For some time I have kept a plain text file called
helpful-commandsfull of bash commands and applications that I find useful, but have trouble remembering. This was a natural evolution fromgreping through my.bash_historyto find commands. Whilst this file (complete with terminal colors for extra flair) has served me well, I decided that it was time for an upgrade to something that I didn’t feel ashamed of.With all this in mind, I built a small TUI in rust called
helpme.What it does
helpmereads in a plain text file at~/.config/helpme/commandsand displays the commands in a searchable, navigable list. Typing filters the list in real time. Commands can be run directly from the interface or copied to the clipboard.The Commands File and its Functionality
Placeholders
If a command is stored with a placeholder the TUI will prompt you for the value at run or copy time. For example,
cat <file>in thecommandsfile would prompt the user to input a replacement for<file>when copying or running the command.Comments
Commands can also have comments to remind you what they do, these are delimited with
#. There is no need to worry about aligning the comments in the file, the TUI will helpfully take care of that.An example could be:
docker ps -a # list all containers docker exec -it <container> bash # open shell in container marp -w <file> # watch and convert slidesNotes
Full lines beginning with
#will not be treated as commands but rather as notes. These are displayed in a separate panel at the bottom. This can be used to store keyboard shortcuts or similar.# $mod+F9 // Start screenshare virtual display # $mod+F10 // End screenshare virtual display # Shift+Print // Save area of screen # $mod+Print // Copy area of screenThe comments within the comment here (
//) are purely aesthetic, this is a relic of my oldhelpful-commandsfile.The App
Installation
The app can be installed with
cargo install helpmeAnd then run by calling
helpme. If no commands file is found in~/.config/helpme/the only command displayed will be to set up the commands directory. Making the actual file is on you however, as help is a two way street.Code
The source code may be found here. Any contributions or issues are very welcome! Of course simply remembering everything is also an option.