Package: bme
BME(Bookmark my Executions/Commands)Never use notepads or history for searching for your past commands. With BME you can bookmark your commands, search in your bookmarked commands and
execute them with edit possibility before execution.SupportedOSNo specific requirements here, whatever runs PythonRequirementsPython3.7+InstallingMacOSOn most MacOS machines there ispip3instead ofpipuse pip3 for installInstall and update usingpip:pipinstallbme

or

pip3installbmeAll your commands are saved in '~/.bme/bookmarks.json'Usage:For adding bookmark:(Quotas can be used)bme add <your command>For Removing bookmark:(Quotas can be used)bme rm <your command>For List bookmarks:(Quotas can be used)bme list <searched>searched is optional, only if you want to list specific commandsRegex, match case and full word flags are supportedFor Executing bookmark:Basic searchbme run <searched>Regex searchbme run <searched> -r <my-regex*>Formatting support:You can format command from bookmark with python formatting as suchUse {} to be placeholder for your tuple argumentsUse {name} to be placeholder with key name for your dictionary argumentsMixing tuple and dict arguments is not supported!Example:Tuple:bme add echo "Hello {} !"
bme run ec JiriDictionary arguments:bme add echo "Hello {name} from {location}"
bme run ec name=Jiri location=Pragueorbme run ec name=\"Jiri\" location=\"Prague\"Optional flags:"-e" or "--edit"for editing command before execution"-r <your-regex>" or "--regex <your-regex>"for full word search only"-f" or "--full-word"for full word search only"-m" or "--match-case"for search with matching case(Quotas can be used)bme run <your command>SequencesSequences are like scripts, except you don't have to search for location and manage them with different.bashrcor different OS specific files.
Also thanks to this, you don't have to add them to PATH.BME will take care of storing your sequences in your~/.bmefolder and will help you to search in them.
These sequences work from everywhere and execution is always in your current working directory.Commands:Create Sequencebme seq create {name}Example:bme seq create my_sequenceRemove Sequencebme seq rm {name}Examplebme seq rm my_sequenceEdit Sequencebme seq editThis will display location of json with sequencesAdd Command to SequenceThis will add command to sequence with use of variadic argumentsbme seq add {sequence_name} {command...}Example:bme seq add my_sequence ssh jiri@192.168.1.0Pop Command from SequenceThis will pop command from sequence with use of variadic argumentsbme seq pop {sequence_name} {command...}Example:bme seq pop my_sequence ssh jiri@192.168.1.0Sequence RunRuns supplied sequence, and will do search for you if not foundbme sequence run {sequence_name}Sequence does support formatting of dynamic arguments same way as bookmarks
these arguments will be passed to every command for formattingExample:bme sequence run my_sequence Johnorbme sequence run my_sequence name=JohnSequence Watch (!BETA!)Launches sequence on file modifybme sequence watch {sequence_name} {file_path}List SequenceThis will list commands and sequences, if argument is used search in text is applied to resultsOptional flags:"-r <your-regex>" or "--regex <your-regex>"` for full word search only
"-f" or "--full-word" for full word search only
"-m" or "--match-case" for search with matching caseExample Data:In sequence DB there is:
 'ssh jiri@192.168.1.0' command
 'ssh jiri@192.168.1.55' command
 'scp jiri@192.168.1.55' commandCommandbme sequence listwill list all the sequences and their commandsSpecific listing format:bme sequence list <optional commands that match this to list>Example:bme sequence list sshOutput:'ssh jiri@192.168.1.0' command
'ssh jiri@192.168.1.55' commandDid I made your life less painful ?Support my coffee addiction ;)