The Terminal Setups of PSPDFKit
While it’s no secret that many developers mainly use the terminal as their way of interacting with their environment, each person ends up developing their own personal setup that’s tailored to the way they work on a day-to-day basis. Finding the perfect set of tools to create a seamless workflow isn’t an easy task, since there’s always one more thing that could be automated or made simpler.
With this in mind, I set out to find out what the terminals of some of PSPDFKit’s engineers look like. Here are the results!
Claudio, CTO
What OS Do You Use?
I alternate between macOS and iPadOS. On the latter, I use a companion Linux VPS where I can ssh
to develop software.
What Shell Do You Use and Why?
For a long time, I’ve used and enjoyed fish due to its ergonomic defaults around autocompletion and error handling, but recently I’ve come back to Bash to keep a simpler setup.
What Terminal App Do You Use?
On macOS, I use iTerm2. It’s reasonably fast for my needs and compatible with pretty much any kind of standard related to color management and rendering. On iPadOS, I use Blink, which is not as full featured as iTerm, but it’s quite fast and well maintained.
What CLI Apps Do You Use All the Time?
More than anything, Vim (or more precisely Neovim) and tmux. For years, I’ve been writing software in the shell, and Vim’s editing paradigm is pretty much burnt into my muscle memory, so I can see myself keeping this workflow for a long time.
What Are Some of Your Favorite Aliases in Your Personal Workflow?
Most of my aliases revolve around Git:
-
s
, which stands forgit status --short
, which gives me an easy-to-understand status of a given repository. -
lg
, which stands forlog --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit —
. This alias prints a colored and human-readable Git history with a visible branch history. -
cl
(mnemonic for “clean local”), which stands forgit branch --merged | grep -Ev "(^\*|master|main)" | xargs git branch -d
. This command removes all branches that have been merged with the current branch (even if the merge commit is a squash).
Arek, Server Team Lead
What OS Do You Use?
macOS.
What Shell Do You Use and Why?
Zsh, mostly because plugins provide a lot of useful aliases out of the box. I’m a fan of the Git plugin.
What Terminal App Do You Use?
I used to use iTerm, but now that I’m using VS Code, I use its built-in terminal.
What CLI Apps Do You Use All the Time?
direnv, ripgrep, xsv, jq, beancount, curl, Git, Docker.
What Are Some of Your Favorite Aliases in Your Personal Workflow?
gcp
for cherry-picking — so much less typing!
Will, Native Team Lead
What OS Do You Use?
Primarily Windows. I also have a MacBook, but I only use it when I need to do iOS/macOS development.
What Shell Do You Use and Why?
PowerShell. I started using PowerShell because it was the easiest thing to use on Windows, but it quickly grew on me to the point where I made it my default shell even on macOS! Once you get over That-Weird-Syntax
, it becomes evident that PowerShell is one of the most readable and intuitive shell languages.
What Terminal App Do You Use?
Windows Terminal on Windows and Hyper on macOS.
What CLI Apps Do You Use All the Time?
What Are Some of Your Favorite Aliases in Your Personal Workflow?
I use gsw
to allow for fuzzy search and auto-completion when switching Git branches. I also use gri 3
for git reset HEAD~3
, and gnuke
for completely undoing all changes, staged or not.
Ritesh, Web Team Lead
What OS Do You Use?
macOS Big Sur
What Shell Do You Use and Why?
Zsh.
What Terminal App Do You Use?
The default terminal app.
What CLI Apps Do You Use All the Time?
What Are Some of Your Favorite Aliases in Your Personal Workflow?
The Git aliases that come with Zsh.
Tomáš, Android and Web Developer
What OS Do You Use?
macOS Big Sur.
What Shell Do You Use and Why?
Zsh shell. Why? Oh My Zsh has a dead-simple (no-hassle) setup with a rich set of features.
What Terminal App Do You Use?
iTerm2. I use the slightly modified Solarized dark theme (for a bit better contrast) running in the hotkey window (I’ve always used Quake-style terminals on any Linux/Unix machine I’ve ever had).
What CLI Apps Do You Use All the Time?
-
fzf as a command history and file fuzzy finder (I have it bound as a replacement to Control + T and Control + R).
-
fasd to switch recent directories faster (it’s bound to the z alias since I used z for the same purpose in the past and I’m used to it).
-
asdf for tool version management. This was a game changer for me — no more headaches when running Ruby, Node, Elixir, etc.
What Are Some of Your Favorite Aliases in Your Personal Workflow?
Git-related aliases from Oh My Zsh.
Simone, Android Developer
What OS Do You Use?
macOS Big Sur.
What Shell Do You Use and Why?
fish shell, because it works nicely out of the box.
What Terminal App Do You Use?
What CLI Apps Do You Use All the Time?
What Are Some of Your Favorite Aliases in Your Personal Workflow?
Mostly Git aliases and a bunch of ADB commands for Android.