Skip to content
Codeloom
Productivity

10 Terminal Tools That Will 10x Your Productivity

Discover fzf, ripgrep, zoxide, bat, and more CLI tools that replace slow workflows with instant results. Install commands and config included.

·5 min read · By Codeloom
Beginner 10 min read

What you'll learn

  • Ten modern CLI tools that replace sluggish defaults
  • One-line install commands for macOS, Ubuntu, and Arch
  • Shell config snippets to wire everything together
  • Real-world usage patterns you will actually reach for daily

Prerequisites

  • A Unix-like terminal (macOS Terminal, iTerm2, Windows Terminal with WSL, or any Linux shell)
  • A package manager — Homebrew on macOS or apt/pacman on Linux
Terminal window showing modern CLI tools like fzf, ripgrep, and starship

Most developers spend hours a day in the terminal yet never upgrade from the tools that shipped with their OS in 2003. Here are ten replacements that are faster, friendlier, and worth the five minutes it takes to install them.

1. fzf — Fuzzy Finder for Everything

fzf pipes any list into an interactive fuzzy search. Files, git branches, command history — anything.

# Install
brew install fzf        # macOS
sudo apt install fzf     # Ubuntu

# Search command history interactively
# (press Ctrl+R after installing fzf's key bindings)
fzf --bind 'ctrl-r:reload(history)'

# Find and open a file
vim $(fzf)

Add this to your .zshrc to replace the default Ctrl+R with fzf:

source <(fzf --zsh)

2. ripgrep (rg) — Grep, but Fast

ripgrep respects .gitignore, skips binary files, and is routinely 5-10x faster than grep on large codebases.

brew install ripgrep

# Search for a function name across the project
rg "useState" --type tsx

# Case-insensitive search with context
rg -i "todo" -C 3

Once you use rg, you will never go back to grep -r.

3. zoxide — A Smarter cd

zoxide learns which directories you visit and lets you jump to them by partial name.

brew install zoxide

# Add to .zshrc
eval "$(zoxide init zsh)"

# Now instead of:
cd ~/projects/company/frontend/src/components

# You type:
z components

It ranks by frequency and recency, so z almost always guesses right.

4. bat — cat with Syntax Highlighting

bat is a drop-in replacement for cat that adds line numbers, syntax highlighting, and git diff markers.

brew install bat

# Use it like cat
bat src/index.ts

# Pipe into it
curl -s https://api.example.com/data | bat -l json

Alias it in your shell config:

alias cat="bat --paging=never"

5. eza — A Modern ls

eza (the maintained fork of exa) adds color, icons, git status, and tree view to directory listings.

brew install eza

# Tree view with git status
eza --tree --level=2 --git

# Long format with icons
eza -la --icons

Suggested aliases:

alias ls="eza"
alias ll="eza -la --icons --git"
alias lt="eza --tree --level=2"

6. tldr — Man Pages for Humans

man pages are comprehensive but overwhelming. tldr gives you the 20% of flags you use 80% of the time.

brew install tldr

tldr tar
# Output:
#   tar -xvf archive.tar.gz        Extract a gzipped archive
#   tar -czvf archive.tar.gz dir/  Compress a directory

7. jq — JSON Swiss Army Knife

jq slices, filters, and transforms JSON on the command line.

brew install jq

# Pretty-print JSON
curl -s https://api.github.com/users/octocat | jq .

# Extract specific fields
cat data.json | jq '.users[] | {name: .name, email: .email}'

# Filter by condition
jq '.items[] | select(.price > 100)' products.json

If you work with APIs or JSON config files, jq saves you from opening a browser-based formatter every time.

8. fd — A Friendlier find

fd is a simple, fast alternative to find. It respects .gitignore and uses sensible defaults.

brew install fd

# Find all TypeScript files
fd -e ts

# Find files matching a pattern
fd "test" --type f

# Find and delete all .DS_Store files
fd -H ".DS_Store" -x rm {}

9. delta — Beautiful Git Diffs

delta makes git diff output readable with syntax highlighting, line numbers, and side-by-side view.

brew install git-delta

Add to your ~/.gitconfig:

[core]
    pager = delta

[interactive]
    diffFilter = delta --color-only

[delta]
    navigate = true
    side-by-side = true
    line-numbers = true

Every git diff, git log -p, and git show now looks beautiful.

10. Starship — Cross-Shell Prompt

Starship is a fast, customizable prompt that works in Bash, Zsh, Fish, and PowerShell. It shows git branch, language versions, and command duration out of the box.

brew install starship

# Add to .zshrc
eval "$(starship init zsh)"

Create ~/.config/starship.toml for customization:

[character]
success_symbol = "[>](bold green)"
error_symbol = "[>](bold red)"

[git_branch]
symbol = " "

[nodejs]
symbol = " "

The 5-Minute Install Script

Here is everything at once for macOS:

brew install fzf ripgrep zoxide bat eza tldr jq fd git-delta starship

And for Ubuntu/Debian:

sudo apt install fzf ripgrep bat fd-find jq
# zoxide, eza, delta, starship, tldr — install via cargo or their official install scripts
cargo install zoxide eza tldr

Then add these lines to your ~/.zshrc:

eval "$(zoxide init zsh)"
eval "$(starship init zsh)"
source <(fzf --zsh)

alias cat="bat --paging=never"
alias ls="eza"
alias ll="eza -la --icons --git"
alias find="fd"
alias grep="rg"

Why This Matters

Each tool saves a few seconds per use. Multiply that by hundreds of daily invocations, and you reclaim meaningful time. More importantly, reducing friction makes you more willing to search, explore, and verify — habits that make you a better developer, not just a faster one.

Pick two or three from this list, install them today, and add more as the muscle memory builds.