Need a hand with tech consulting? I can help!
Learn more about how we can work via black.af .

What I Use In the Shell

A recap of the things I use in the shell.

:pencil: by Jacky Alciné Jacky Alciné :book: an review post :bookmark: development , thoughts , dotfiles , personal :clock7: written :eyeglasses: about 3 minutes, 695 words :link: Comments - 0 Mention(s) - Permalink

If there’s one thing that makes a user of the console a good one; it’s knowing it well enough to navigate through it as if it were an extension of themselves. If you’re spending a good portion of your day in there, you should able to do things like grabbing code, handling patches, managing your multiplexer and more easily from the CLI. This post is about how I’ve set up my shell environment as well as my Vim setup.

My Shell: bash

I use [GNU Bash][], the kind of Bash you’d get when shipping with a particular Linux. I haven’t made the attempt to try another shell out of the time capital it’d require but a few compelling features in shells like fish and zsh pique my curiosity enough to give them another look; definitely worth a follow up post. Initially, I set up my shell scripts in a very hazy fashion. Then I began to use bash-it, a useful tool for controlling your shell as if it were a toggle-able and configurable machine (in a sense, it is). My changes to bash-it has a lot of jazz in it, although it’s been quite polluted from the original project and probably might explain for its bit of lag.

Every time the prompt opens up or logs in, it registers my GPG keychain with the gpg-agent as well as the SSH keys I’d use with the ssh-agent to make life easy when I use said tools. With an added twist, the passwords are passed in using kwalletaskpass, so they’re pulled from my system’s wallet. I don’t have to worry about entering said passwords when prompted, ever. Also, if it’s not running in a tmux pane (checks for $TMUX), then it prints out a (potentially offensive or stupid) fortune script. The amount of amusement that some of these have provided is priceless. Combining this with cowsay would be extra but worthwhile in the future. The underlying tool that handles the GPG and SSH keys is called [keychain][]; be sure to check it out.

My Editor(s): vim & subl

I tend to stick to the console when I work on code. Vim has been the editor of choice for about a year and a half now and I learn something new whilst using it almost every other day. New ways way to handle text and repetitive tasks without moving my hand from the ‘home row’ has made me really rethink how the keyboard was meant to be used. It’s more than that, too. Macros are a important part of Vim, and more text editors should embrace that idea. I can go on and on about Vim; it’s enough to merit its own post. Little things like key bindings, re-mapped keys and freaking color schemes matter.

At times, I do miss the convenience of having a GUI application open and running. That’s when the ever-popular Sublime Text with its community-driven and powered package repository comes to play.

Sublime Text! And Wintermute!

With the Vim plug-in providing Vi-like bindings for editing text; it’s as close as I can get to a cross-platform, non-Vim editor that packs a punch.

(Extra) My Desktop Environment: KDE

I’ve used Ubuntu for a while now; about five years now. I’ve used the classic GNOME2 shell as well as the Lubuntu/LXDE shell and after finding KDE, I haven’t moved away from it since. I’m using KDE 4.12.3 as provided by Kubuntu.

I’m using Kubuntu 13.10 on the 3.11.0-19-generic Linux kernel (at the time of writing) on a 64-bit processor. This is mostly expected stuff, nothing crazy or over the top. My processor’s the Intel i3-3217U chip using up 7.6 GB of RAM and 25 GB of swap. It’s a bit of overkill for swap, yes, but I use the same partition that the kernel would use as virtual memory for swap, so I figured why not.