Introduction

It’s my understanding that the computer terminal is a node or point of confluence for all local server operations, and the place from which we can make commands or receive information most efficiently is the terminal, or command line. There’s a discussion on the etymology of terminal started 9 years ago here.

When we use a code editor like Visual Studio Code the operations that we do there will delegate (through some internal scripting) those operations to the command line anyway, so why not bypass that and stay for as long as possible in the command line.

This is my own, and much less complete, version of The Art of Command Line.

Tmux

Tmux is a pane multiplexer. We can open more than one terminal to do various tasks, and this can be cumbersome if we have multiple operations to be doing. Keeping an eye on where we are, the screen can quickly become cluttered, and we would prefer to have everything centralised inside one larger terminal window that contains multiple terminal sessions withing:

We might use Tmux for this.

There is a small learning curve to the key bindings that are necessary to know; generally speaking everything starts with control b followed by the command of a specific operation. It’s a good idea to stray as little away from the factory settings as necessary, as if working on a remote server we wont have any local configurations.

Tmate

A fork of Tmux that allows us to start local ssh sessions that others can connect to under the specific permissions that we give (i.e. read/read&write).

The command is: tmate which will give a list of the ssh keys on our local that we can share with somebody we may be collaborating with.

Abduco

Originally, I wanted to use Abduco to remember the structure and layout of sessions I would be working in, just in case my connection fell and I had to start Tmate again. Unfortunately, Abduco does not appear to be available on Homebrew any longer, so I use Dtach to store session layout. See the blog entry specific to that, I also include my configure key bindings that make it quicker to use.

Browsing the web

If like me you are becoming obsessed with staying as furthest awqy from web GUIs as visually possible, either for the sake of mental sanity, or just because, then why not start browsing the web from the comfort of your terminal.

Inside your terminal, you can open the web using w3m followed by the browser of your choice (i.e. Duck Duck Go in the example below):

w3m ddg.gg

To jump between sections use tab, and reverse tab to jump backwards.

The only caveat is that you will not be able to experience the wonders of JavaScript, just plain html.

One particular benefit I have found is that it increases focus, and you are not bombarded with the visual pollution that most online spaces have these days. It also leads us to appreciated better html structure in general.

Calcurse

These are a few of the terminal apps that I have started using and that I find useful:

I’ve taken an interest in Kanban, and downloaded a tool called “calcurse”, the documentation here.

Used in tandem with Tmux, Vim, dtach it becomes very easy to minimize the need of turning to any other window than the terminal.

This is where I would like embed links

Diagramming inside vim

Instead of using “asciiflow” we can use the vim draw it plugin.

It allows us to draw our diagrams from within vim.