dotfiles update

I’ve been using my current dotfiles setup for a while and felt it’s time to freshen up. I focused on updating the look and feel of Vim and tmux this round.

First I switched to molokai color theme for Vim, TextMate (monokai) and IntelliJ IDEA (using this). I guess I grew tired of the old trusted solarized, plus with my new MacBook Pro 13” at highest resolution, it just doesn’t feel sharp enough.

The vim-powerline plugin I was using is being deprecated and replaced by powerline, which supports vim, tmux, zsh, and many others. However it requires Python and I had trouble using it with some really old Vim versions at work. So instead I switched to a pure VimL plugin, vim-airline. Not surprisingly there’s a companion plugin, tmuxline for tmux as well. Both have no extra dependencies which is a big plus for me since I use the same dotfiles on Mac, my Ubuntu Trusty destop at work, and many Debian Squeeze servers.

I also updated a couple of other Vim plugins along the process, replacing vim-snipmate with ultisnips, vim-bad-whitespace with vim-better-whitespace (no pun intended), and adding vim-gutter. The biggest discovery is vim-easymotion though, perfect …

more ...

dotfiles

My dotfiles is probably the most copied code among my coworkers and today I will give a little break down of the code base.

zsh

I switched to zsh 3 years ago and never looked back. There’s also oh-my-zsh, a framework for managing ZSH configuration. The features I found most useful are:

  • Tab completion, including hostnames and arguments
  • History across multiple sessions
  • Plugins and themes

My .zshrc is mostly out of the box with some aliases and a few plugins thrown in but decided to create my own theme. I use colors for hostname in the prompt, green for local and red for remote. I also tweaked git status a bit to show untracked files (red dots), unstaged (yellow) & staged (green) changes, plus number stashed changes since that’s the one thing I keep doing and forgetting about.

git

I use git both for work and personal projects, plus contributing to open source projects on GitHub. My .gitconfig includes both a global gitignore file and a templatedir, which includes hooks for ctags and Gerrit. The hooks are installed automatically for every repo.

Since I type hundreds of git commands on a daily basis, I aliased git to simply g …

more ...