Planet of the Crabs
🦀 fearless rust


i3: the window manager for vimmers

Posted on by Vitiral

i3 is an ultra lightweight tiling window manager with excellent documentation. It follows the Arch Way in that it is configurable through a simple text based config file and is generally badass (well tested, simple to use, small codebase, etc). It is also fast and consumes almost no memory.

i3’s entire purpose is to be controlled through key commands. When you first install it, it gives you a well documented configuration file for you to edit. There are only a few changes we have to make to make i3 vim compatible.

One of the key benefits of using Arch and i3 is that there are no “random” keybindings – everything is documented in your i3 config. This makes it much easier to do things like define Alt+C/V to be copy/paste (for example) – we will get to that when we discuss urxvt

Open ~/.i3 or ~/.config/i3/config

# Mod=Alt -- I use alt so it doesn't conflict with vim or tmux but is easy to reach
set $mod Mod1

kill focused window (vim delete, follows vimperator settings more than vim)

bindsym $mod+d kill

dmenu is how you start programs -- make it the same as vim command mode

bindsym $mod+semicolon exec dmenu_run

i3 uses jkl; instead of hjkl -- fix that

bindsym $mod+h focus left bindsym $mod+j focus down bindsym $mod+k focus up bindsym $mod+l focus right

move focused window

bindsym $mod+Shift+h move left bindsym $mod+Shift+j move down bindsym $mod+Shift+k move up bindsym $mod+Shift+l move right

These are more like the tmux config we will get to later, but are intuitive

bindsym $mod+backslash split horizontal bindsym $mod+bar split horizontal bindsym $mod+apostrophe split vertical bindsym $mod+quotedbl split vertical bindsym $mod+minus split vertical

You can also see more settings (and up to date settings) I have at my i3 config