Bash tools for a 10x productivity boost
These are some of the best bash tools and aliases that you can use to boost your productivity. They are great for saving time and making you a better dev today.
To add an alias to you bash terminal, add the following line to your .bashrc (or .zshrc if you are using zsh) file:
alias alias_name='command'
🦘 z — Jump around
The z command is not really an alias, but it’s a great tool to jump around your filesystem. It tracks the directories you visit and allows you to jump to them with just a few keystrokes. You’ll never have to use cd again.
For example, if you are going everyday to your working directory ~/Documents/Pro/Medium, you had to type at least one long command, or three short commands. With z, you’ll only type “z m”, taking maximum 1 second if you’re being slow.
To use it, install it, run some cds, and you are good to go !
z GitHub repository: https://github.com/rupa/z
⌨️ Neovim — The only IDE you’ll ever need
One of the standout features of Neovim (and Vim) is its powerful and efficient motion commands. Vim motions allow you to navigate through your text quickly and with precision, significantly enhancing your editing speed and reducing the need for repetitive keystrokes. You’ll never have to touch you mouse again once you’ll master the motions.
If you are a bit afraid to loose all your workflow by changing IDE, you can simply install the Vim for Visual Studio Code to get use to the motions. I promise you’ll never regret learning these motions. They can be activated in a lot of places afterwards, I personally use it on Leetcode and Overleaf.
Moreover, Neovim is a powerful and highly customizable text editor that can function as a fully-fledged Integrated Development Environment (IDE). It’s an extension of Vim, offering improvements in usability, extensibility, and modernity. By leveraging plugins, key mappings, and custom configurations, you can tailor Neovim to perfectly suit your development needs. Community is actively contributing, so you’ll find all your favorite VSCode plugins in Neovim.
Neovim GitHub repository: https://github.com/neovim/neovim
🔎 fzf — Fuzzy finder
FZF is a command-line fuzzy finder that can be used to find quickly something in any list. It’s a great way to quickly find what you’re looking for. You can alias the following command to quickly jump to a directory:
alias cf='cd $(find . -type d -print | fzf)'
When you type cf and hit enter, you’ll be presented with a list of directories to choose from.
The default fzf command let you search through files. You could, for example, create an alias to search for a file and open it in neovim:
alias nvopen='nvim $(fzf)'
fzf GitHub repository: https://github.com/junegunn/fzf
⚡ uv — A blazingly fast pip
UV is a faster python package manager written in Rust. It’s a great alternative to pip and offers more features and promise a 10x speed improvement. It’s a great tool for managing your python packages.
uv GitHub repository: https://github.com/astral-sh/uv
🦇 bat — A better cat
Bat is a modern replacement for cat that offers syntax highlighting, line numbers, and more. It’s a great tool for viewing files, especially code, which could rapidly be unreadable with the usual cat
bat GitHub repository: https://github.com/sharkdp/bat
📚 tldr — a man page alternative
Tldr offers you a simplified and community-driven set of cheat sheets for common commands. It’s a great way to quickly learn how to use a command without having to read the whole man page.
tldr GitHub repository: https://github.com/tldr-pages/tldr
🐢 Atuin — Navigate through your history
Using the default history command in bash is not very user-friendly and can be a pain in the ass when you’re trying to find the exact curl command you did one week ago. Atuin is a better way to navigate through your history. It offers you fuzzy search, filtering, and more.
Atuin GitHub repository: https://github.com/atuinsh/atuin
🌈 LSD or exa — List directory contents
The ls command is used to list files in a given directory. The lsd app is a more colorful and user-friendly version of ls. It offers you color-view, tree-view, and more. Exa is another alternative to ls. It’s a modern replacement for ls that offers more features and a better user experience.
LSD GitHub repository: https://github.com/lsd-rs/lsd
exa GitHub repository: https://github.com/ogham/exa
🔀 delta — A better git diff
Delta is a modern replacement for git diff that offers syntax highlighting, line numbers, and more.
delta GitHub repository: https://github.com/dandavison/delta
🕵️ fd — A better find
The fd command is a faster and more user-friendly alternative to find. It’s a great tool for searching files and directories.
fd GitHub repository: https://github.com/sharkdp/fd
📊 zenith or btop — System monitoring (top)
Zenith and btop are both monitoring tools that offer a better view of your system’s performance. They are more user-friendly than the default top command and offer more features. They are practically identical, so you can choose either one. Zenith is written in Rust, while btop is written in C++.
btop GitHub repository: https://github.com/aristocratos/btop
zenith GitHub repository: https://github.com/bvaisvil/zenith