Bash, Vim, Tmux, Valgrind, cgdb, and Git... it's a combination of tools that have changed my life for the better. After years of working with GUIs on Linux for programming and tasks alike, I gradually made my way to the terminal and soon saw that it allows to work much more efficiently. This seems counter intuitive for most, due to a steep learning curve. The trick is knowing the right tools and configuring them. For a while, configuration had become somewhat of a obsession of mine and this page is dedicated to it. Perhaps my efforts can save others some time.

These days I only leave the terminal to do browsing, because it offers everything required for my daily tasks. I wouldn't be able to do this without some essential tools, like Bash, Vim, Tmux, commandline debugging and Git. The more I was using the terminal, the more I got annoyed every time any action was taking my hands away from the home position of my keyboard (fingers on 'asdf' and 'jkl;').

I have therefore configured every tool to incorporate movement with 'hjkl', like in the good old days (see below). Ever looked at the an old keyboard and seen that CTRL and CAPS are switched? Using CTRL for every movement can be straining for your pinky, thus my config uses xkb to swap them back.

Cursor movement CTRL-hjkl
Backspace and del CTRL-uo
Cursor movement CTRL-hjkl
Backspace and del CTRL-uo
Escape CTRL-f
Navigate panes CTRL-w CTRL-hjkl
Navigate sessions CTRL-a CTRL-np
Navigate windows CTRL-a CTRL-hjkl
Navigate panes CTRL-a hjkl


[download all]