When suggesting a command, McFly takes into account the following factors:
- The directory where you ran the command. McFly uses the PWD environment variable to determine directory.
- What commands you typed before the command (e.g., the command’s execution context).
- The frequency the command is run.
- The time when the command was last run.
- Has the command been selected in McFly before?
- How often you run the command.
- The command’s historical exit status.
McFly also offers the following functionality:
- Augments your shell history to track command exit status, timestamp, and execution directory in a SQLite 3 database.
- Highlights search string in a case-insensitive way.
- Includes a simple action to scrub any history item from the McFly database and your shell history files. Press F2 and you can delete the selected command from the history.
- Designed to be extensible for other shells in the future.
- Replace the default theme with a light mode. It’s useful if you prefer a terminal with a light background.
- Detect when directories are moved or renamed and updates the history.
- Generate a training set with the command ‘mcfly train’.
- Unicode support throughout.
Complete list of articles in this series:
|Abricotine||Markdown editor with inline preview functionality|
|Ananicy||Shell daemon created to manage processes’ IO and CPU priorities|
|broot||Next gen tree explorer and customizable launcher|
|cheat.sh||Community driven unified cheat sheet|
|croc||Securely transfer files and folders from the command-line|
|Deskreen||Live streaming your desktop to a web browser|
|duf||Disk usage utility with more polished presentation than the classic df|
|exa||A turbo-charged alternative to the venerable ls command|
|Extension Manager||Browse, install and manage GNOME Shell Extensions|
|fd||Wonderful alternative to the venerable find|
|fkill||Kill processes quick and easy|
|fontpreview||Quickly search and preview fonts|
|horcrux||File splitter with encryption and redundancy|
|LanguageTool||Style and grammar checker for 30+ languages|
|Liquid Prompt||Adaptive prompt for Bash & Zsh|
|lnav||Advanced log file viewer for the small-scale; great for troubleshooting|
|lsd||Like exa, lsd is a turbo-charged alternative to ls|
|McFly||Navigate through your bash shell history|
|mdless||Formatted and highlighted view of Markdown files|
|OCRmyPDF||Add OCR text layer to scanned PDFs|
|Paperwork||Designed to simplify the management of your paperwork|
|PDF Mix Tool||Perform common editing operations on PDF files|
|peco||Simple interactive filtering tool that's remarkably useful|
|ripgrep||Recursively search directories for a regex pattern|
|scrcpy||Display and control Android devices|
|tldr||Simplified and community-driven man pages|
|tmux||A terminal multiplexer that offers a massive boost to your workflow|
|Tusk||An unofficial Evernote client with bags of potential|
|Ulauncher||Sublime application launcher|
|Watson||Track the time spent on projects|
|Whoogle Search||Self-hosted and privacy-focused metasearch engine|