15 Tools to Customize Your Terminal and Command Line

customize terminal

Great tooling can improve your workflow significantly and help you write more code. To help determine the best tools to customize your command line and terminal, I asked front end developers at Shopify what apps, packages, and tooling they use every day. We’re sharing their responses so you can start customizing your terminal or command prompt, and start developing more efficiently and beautifully.

Template Icon

Terminal emulation applications ️

If you decide that the newly releasedWindows Terminalor the defaultMac Terminalisn’t for you, there are other terminal emulation applications you can choose from. The top used ones at Shopify are as follows:

iTerm

customize terminal: iterm

iTerm won by a pretty big landslide, likely because our developers use Macbook Pros at Shopify. iTerm includes features like split panes, hotkey windows, search, and autocomplete. You can also customize the look and feel pretty easily too.

Hyper.js

customize terminal: hyperjs

Hyper.js is an electron app that works cross platform and is beautifully designed. It’s fully extensible with a public API so you can build your own tooling for it if you want to. It comes with a library of themes and plugins built specifically for it.

Alacritty

alacritty

Alacritty is also a cross platform terminal emulator with a focus on simplicity and performance. You can install it viabrewfor Mac orchocolatelyfor Windows. Full installation instructions can be found on GitHub.

You might also like:最好的25个Sublime Text Pluginsfor Front End Developers.

Package managers

To install most of the tools that help customize your terminal, you’ll want to install a package manager, which will make installing new packages much easier. Simply follow the global installation instructions for the package manager of your choice. I’ve listed a few below to choose from.

homebrew
Package manager for macOS

chocolatey
Package manager for Windows

npm
Package manager for Javascript

pip
Universal package manager used to install and manage software packages written in Python

You might also like:The 20 Best Atom Packages for Front End Developers.

Shells

Ever wondered the difference betweenbashandzsh? When you open your command line you run a shell, which is essentially just a program. By default you probably have Bash (BourneAgainShell) installed, which essentially passes commands that you type to your computer to execute.

zshandoh-my-zsh

customize terminal: oh my zsh

Also known as Z Shell, this is a shell similar to Bash, however it becomes infinitely more powerful when using theoh-my-zshframework. Theoh-my-zshframework comes with thousands of helpful functions, helpers, plugins, and themes.

fish

customize terminal: fish

fish年代hell is a user-friendly cross platform command line shell. It has autosuggestions, color support, and syntax highlighting without the need to setup or configure—it works out of the box. Installation instructions for all platforms can be found on thefish年代hell website.

Command line tools ️

Now that we have a terminal emulator picked out, as well as a shell, let’s take a look at the last round of customization; command line tools! Below are a few helpful tools to get you started.

fzf

customize terminal: fzf

fzfis a command line fuzzy finder. It’s an interactive Unix filter for the command line that can be used with any list: files, command history, processes, hostnames, bookmarks, git commits, and more. Simply runfzfto start searching in your current directory.

ripgrep

customize terminal: ripgrep

ripgreprecursively searches your current directory for a specific regex pattern. It ignores and skips hidden files/directories and binary files.

jump

customize terminal: jump

jump是一个很酷的命令行吗ol that learns your navigational habits by keeping track of the directories you visit. It then suggests the best directory for the shortest search term.

thef*ck

customize terminal: thefuck

Though a bit risqué,thef*ck是一个超级有用的工具来修复错误当你管理信息系统吗type previous commands. How many times have you pushed to a branch only to get that pesky up-stream branch error from git? With this tool, just typefuckand choose the right command from a suggested list.

httpie

customize terminal: httpie

httpieis a modern command line HTTP client, basically a more user friendly curl alternative. It allows for sending arbitrary HTTP requests using a simple and natural syntax, and has a nicely colored output.

tldr

customize terminal: tldr pages

tldrprovides a selection of community driven man (manual) pages. It also works with a variety of clients likeAlfred,VS Code, and evenon the web.

hub

customize terminal: hub

hubis a command line tool made by GitHub. It wrapsgitand makes working with GitHub easier by extending it with extra features and commands.

jq

customize terminal: jq

jqis a command line JSON processor. It has zero runtime dependencies and can be downloaded as a single binary.jqcan be used to slice, filter, map, and transform structured data.

nerd-fonts

customize terminal: nerd fonts

To take advantage of many built in features of certain themes and tools, make sure to install Nerd Fonts. It’s a font aggregator, collector, and patcher that includes over 3,600 icons and glyph collections from most major iconic fonts.

Relaxed theme

customize terminal: relaxed theme

This theme works across your terminal emulation application to your text editor of choice. Have the same scheme throughout!

Hot Tip: Browse developers’ dotfiles on GitHub

Other developers store their configurations in dotfile directories on their GitHub account. Try checking out your favorite developer and see if they have their dotfile configurations in a public repository. For more resources on dotfiles check outLars Kappert’s list.

Get working

Now that you’ve installedall the thingsyou should be ready to get coding, albeit more beautifully and more efficiently than ever before.

What command line customizations have you made? What are the tools you can’t live without?Tell us in the comments below.

Grow your business with the Shopify Partner Program

Learn more