Warp is the future of terminals

Warp is the future of terminals

ยท

3 min read

I spend a lot of time working with tooling, whether it's for my job, content creation, or just development tools in general. Warp is a brand new terminal experience, so let's talk about it.

What is Warp?

Warp is a terminal that allows you to do a whole lot right from your keyboard. It gives you the ability to look through your history, create workflows and has intellisense. This is currently for Mac only but they are building one for Windows and one for Linux as well! So all the other users out there can have a great experience.

Command Palette

Command Palette

The command palette allows you to search through all the different commands you can use within the Warp terminal. For example create new tab is command + T or command + ] is a new pane. The command pane is completely searchable so you can type in what you are looking for hit Enter.

Command History

History Search

Command History is one of the best features of Warp, not because it's powerful or revolutionary feature, but because I and every developer has press the up arrow dozens of times to find that one command.

You get two options when you press control + r you can scroll through all of the history items or you can just type in the beginning of the command. Here is an example of me typing the word yarn into my history search:

History example

As you can see I can now just select what I need from the list, speeding up the time spent remembering what did I type?

Workflows

Workflows are the powerhouse to this terminal application, workflows allow you to run commands similar to aliases. Each workflow gets a searchable title and description which make easy to find what you are looking for. The workflow pane can be opened by typing shift + control + r.

When you choose a workflow, you will prompted to fill in any arguments you might need to make the command work which you can navigate using shift + tab :

Command Example

Custom workflows

Custom workflows are your alias on steroids, they are created using .yml files and can be either user specific or project specific.

For user specific ones you add them to ~/.warp/workflows and for project ones {{path_to_project}}/.warp/workflows. The format is the same regardless, here is my code_profile one:

name: Change code profiles
description: Change code profile for visual studio code
author: James Perkins
author_url: https://github.com/perkinsjr
tags: ['macos', 'shell', 'vscode']
shells:
    - zsh
    - bash
command: code --user-data-dir {{user_data_dir}} --extensions-dir {{extension_dir}}
arguments:
    - name: user_data_dir
      description: Directory of user-data
    - name: extension_dir
      description: Directory for extensions

My custom workflow takes two arguments which and when used will open my code_profiles have stored for visual studio code and it looks like this in the application.

My work flow

This is just scratching the surface of the feature set that Warp offers and how it can be used. I recommend giving it a shot and seeing what you think.

Did you find this article valuable?

Support James Perkins Blog by becoming a sponsor. Any amount is appreciated!