DEV Community

Alex Shev
Alex Shev

Posted on

I Ditched GUI Tools and My Productivity Doubled — Here Are the 5 Terminal Tools That Did It

I used to be a GUI person. Premiere for video. Tower for git. Finder for files.

Then last year, I started building automation pipelines — video production, data processing, server deploys — and I kept hitting the same wall: GUI tools don't scale. You can't loop a drag-and-drop. You can't pipe a button click.

So I went terminal-first. And I'm not going back.

Here are the 5 tools that made the difference.


1. ripgrep (rg) — Search That Actually Respects Your Time

grep works. ripgrep works fast.

It respects .gitignore by default, searches recursively, and handles Unicode. On a 50GB monorepo, the difference isn't seconds — it's minutes.

# Search for "TODO" across your entire project, skip node_modules automatically
rg "TODO" --type ts

# Case-insensitive search with context lines
rg -i "deprecated" -C 3
Enter fullscreen mode Exit fullscreen mode

Why it matters in 2026: Codebases are bigger than ever. AI-generated code means more files, more boilerplate, more things to search through. You need a search tool that scales.

Install: brew install ripgrep / cargo install ripgrep


2. jq — JSON Surgery from the Command Line

Every API returns JSON. Every config file is JSON. Every log pipeline outputs JSON.

jq lets you slice, filter, and transform it without opening a browser tab or writing a Python script.

# Extract all error messages from an API response
curl -s api.example.com/logs | jq '.entries[] | select(.level == "error") | .message'

# Reshape data — pull specific fields into a new structure
cat data.json | jq '[.users[] | {name: .name, email: .contact.email}]'
Enter fullscreen mode Exit fullscreen mode

The real power: Piping. Chain curl | jq | xargs and you've built an API automation pipeline in one line. No dependencies. No virtual environments. No "let me spin up a quick script."

Install: brew install jq / apt install jq


3. FFmpeg — The Swiss Army Knife Nobody Teaches You

Most developers know FFmpeg exists. Few know it can replace an entire video editing suite.

I recently produced a 49-second educational short — compositing multiple video layers, syncing audio, adding animated subtitles — entirely from the terminal. No Premiere. No DaVinci Resolve.

# Trim a video with frame-accurate precision
ffmpeg -ss 00:01:30 -to 00:02:45 -i input.mp4 -c copy trimmed.mp4

# Overlay a watermark with position control
ffmpeg -i video.mp4 -i logo.png -filter_complex "overlay=W-w-10:H-h-10" output.mp4

# Generate a thumbnail from a specific timestamp
ffmpeg -i video.mp4 -ss 00:00:15 -frames:v 1 thumbnail.jpg
Enter fullscreen mode Exit fullscreen mode

The unlock: Once you can script video processing, you can automate content pipelines. Batch process 100 videos. Auto-generate thumbnails. Convert formats at scale. I've been collecting FFmpeg patterns on terminalskills.io because the documentation alone could fill a textbook.

Install: brew install ffmpeg / apt install ffmpeg


4. lazygit — Git, But You Can Actually See What's Happening

I love git. I hate remembering whether it's git rebase -i HEAD~3 or git rebase -i HEAD~4.

lazygit gives you a terminal UI for git — staging hunks, interactive rebasing, cherry-picking — without leaving the terminal or touching a mouse.

# Just run it in any git repo
lazygit
Enter fullscreen mode Exit fullscreen mode

What changed for me: I stopped being afraid of interactive rebases. The visual diff panel means you SEE what you're about to do before you do it. Conflict resolution went from "let me open VS Code" to "done in 10 seconds."

Pro tip: Hit ? inside lazygit for the full keybinding list. space to stage, c to commit, p to push. That's 90% of your workflow.

Install: brew install lazygit / go install github.com/jesseduffield/lazygit@latest


5. zoxide — cd, But It Remembers Where You've Been

This is the smallest tool on the list and the one I'd miss the most.

zoxide replaces cd with a smart directory jumper. It learns which directories you visit most and lets you jump to them with partial names.

# Instead of: cd ~/projects/company/backend/services/auth
# Just type:
z auth

# It knows you mean that specific auth directory
# because you've been there 50 times this week
Enter fullscreen mode Exit fullscreen mode

Why it's not trivial: I timed it. On an average workday, I cd about 80 times. Each full path takes 3-5 seconds to type. zoxide cuts that to under 1 second. That's 5-6 minutes saved daily. Over a year, that's nearly a full workday of just... not typing paths.

Install: brew install zoxide / curl -sSfL https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | sh


The Pattern

None of these tools are new. But together, they changed how I think about work.

GUI tools are great for one-off tasks. But the moment you need to do something twice — the terminal wins. Every time.

I went from "let me open the app" to "let me write the command" and my throughput doubled. Not because I'm faster at typing. Because scripts don't forget steps, don't get tired, and don't need a mouse.


What's your terminal setup look like? I'm always looking for tools I've missed — I bet someone here has a workflow that would blow my mind. Drop it in the comments 👇

Some parts of this article were refined with AI assistance.

Top comments (0)