You’re Missing Out on The Best Terminal Experience

Sebastian Carlos
6 min readJul 29, 2022

--

It’s 2023. There’s no reason to use your grandparent’s terminal any longer.

If you’re a power user — or if you use your computer to bring things to the next level — you’ll appreciate the wide range of tailored solutions to build the terminal of your dreams.

After I’m done with you, you’ll be able to 3D print your terminal, have it made out of carbon fiber, or even have it implanted into your skull. We are talking about the best of the best of the best here, motherfucker. Get ready to get your terminal game on.

But first, we need to go way back.

Why do people still use terminals?

Bitch, please.

Even in the era of graphical user interfaces, terminals are the best way to get stuff done. Most times, they are the only way. Why? Let’s take a quick look at the Bible for an answer:

“In the beginning was the Word, and the Word was with God, and the Word was God.”
- John 1:1

Even the Gospel of John, a book recognized as sacred by a little over half of the world’s population, starts by agreeing with the supremacy of the written word. Language is at the base of it all — not graphics, not fancy schmancy triangles and shit.

Language is the foundation of everything, and terminals are — following the text-based UNIX tradition — the part of the computer that brings us closest to the source.

If you’re ready to join the terminal revolution, there’s a few things you’ll need first.

1. Buy a Macbook Pro

What are you, poor?

Look, if you want to get anywhere in life, you’ll need to start by forking over some cash for a good computer. And when I say good, I mean a Macbook Pro.

I’m not going to get into the nitty gritty of specs and why Macs are better than PCs, that’s for another article. Just know that if you want to get anywhere in the terminal world, you’ll need a Mac.

And of course, you don’t want a desktop computer; you want a laptop. Why? I’m not gonna go over that, it should be clear (Hint: digital nomad lifestyle, working from a yacht, impressing hot babes at coffee shops, et cetera).

2. Install iTerm2

iTerm2 is a replacement for Terminal, the default macOS application. It’s open source and it’s way better, so there’s really no reason not to install it.

Now, get ready for some inception shit. We are gonna use the stock Terminal app to install iTerm2. For that, open the Terminal app and install Homebrew.

Homebrew is your new homeboy, you’re gonna be using it all the time. It’s a package manager for macOS. It makes installing stuff a breeze. Follow the installation instructions here.

Fun fact: The creator of Homebrew once failed an interview at Google because he couldn’t answer some algorithm question. He then proceeded to write this spicy tweet:

“Google: 90% of our engineers use the software you wrote (Homebrew), but you can’t invert a binary tree on a whiteboard so fuck off.”

Bet he didn’t do enough LeetCode.

Once Homebrew is installed, install iTerm 2 by running:

brew install iterm2

3. Enable Quake mode

Now it’s time to take things to the next level. You want your terminal to drop down in a smooth animation from the top of the screen as if opening the console of the classic first-person shooter Quake.

At this point, no place on the internet seems to have fully working instructions to get this running, so here you go:

  1. Follow the instructions in this top answer. Additionally do what the comment by “seeker of bacon” says so that the default window no longer opens on startup.
  2. Increase the number of window rows to something like 45 so it covers most of the screen.
  3. Follow the instructions here to make sure the console opens on top of fullscreen apps like IDEs too. (After setting “Floating window” don’t forget to completely restart iTerm2 for the effects to take place)

There you go, now you have a full Quake terminal. You thought I was kidding, right?

4. Install Fish

When it comes to shells, there’s plenty o’ fish in the sea. But if you want the best terminal experience, you’ll need to install Fish.

Now, this is the first controversial opinion on this guide (besides that Quake shit), but goddamn if I’m ever proven wrong I swear to God I’ll eat my laptop.

The mainstream choices are “bash” and “zsh”, but you see, those shells were developed in the far past, in the 70s, a time when people were angry and the world was highly polarized and at risk of nuclear annihilation. These days instead… wait, never mind.

https://fishshell.com/

The problem with “bash” and “zsh” is that the syntax and legacy behaviors are utter trash, and the documentation is downright hostile in its obscurity. It’s almost like they don’t respect that you, as a human being, have other stuff to do later that day.

And most importantly, the zsh manual doesn’t even have a responsive design. If you open it on a widescreen monitor, an entire paragraph could fit in a single line, and you are set for a reading experience that only your chiropractor would appreciate.

Fish instead has a wonderful, instructive, and funny documentation. It is also the only shell that can inspire a new generation of developers — with its sleek design, consistent DX, and amazing integrations — to jump balls first into the fresh and exciting world of terminal programming.

Go ahead and install it with:

brew install fish

5. Install a custom font and prompt

I recommend Tide, which is what the cool kids are using these days. And it’s flashy enough to convince anyone from the “oh my zsh” camp to jump into the fishy waters.

Here’s the final result:

6. Install some of those new Rust-based CLI apps

Remember the days of default GNU apps? Me neither. These days, new languages like Rust and Go are powering the best terminal applications.

A few years ago, I would’ve told you to install cd, top, and pwd. But not anymore, my friend. The era of Rust-based command line applications has arrived, and you don’t want to be left behind.

Somewhere in my sister, I mean, somewhere in my system, I have a folder. How do I find it? I can’t. But now I have this new Rust-based tool called zoxide, and no problemo. Must be those zero-cost abstractions doing their magic.

Some of my favorite new tools are exa, zellij, and micro. But there are many more to choose from. Check out this awesome list of new CLI apps.

Closing thoughts

The dictionary definition of terminal is “of or relating to an end or extremity”. And that’s exactly what we are talking about here. If I want you to remember somthing from this article, let it be this:

The terminal is not a black window with white monospace text on your computer. The terminal is an experience, a way of life. It is the place where you can be one with the machine, where you can transcend your human limitations and become something more.

Are you ready?

Thanks for reading! If you enjoy humorous tech stories like these and want to support me to keep writing forever, consider signing up to become a Medium member. It’s $5 a month, giving you unlimited access to stories on Medium. If you sign up using my link, I’ll earn a small commission. You can also follow me on Medium and Twitter.

--

--

Sebastian Carlos
Sebastian Carlos

Responses (19)