Skip to content
Dotfiles for zsh, vim, tmux, and more
Shell Vim script Emacs Lisp
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
.Xresources.cygwin Have Cygwin UXTerm use Consolas Mar 16, 2018
.login_conf First commit Feb 8, 2018
.minttyrc DejaVu Sans Mono allows for testing more themes Jul 20, 2018
.shrc Merge branch 'develop' of into develop Jan 15, 2020
.tmux.conf tmux window titles Dec 9, 2019
.vimrc set updatetime=750 Dec 23, 2019
LICENSE Happy New Year! Jan 1, 2020 Missing word Dec 11, 2019 Permissions Dec 7, 2019


MIT License GitHub Stars

I have tested these dotfiles primarily on

  • Windows
    • MSYS2 with mintty
    • Cygwin with mintty
    • The Windows Subsystem for Linux (a.ka. Bash on Ubuntu on Windows)
  • Linux
    • Ubuntu/Linux Mint/Raspbian (based on Debian)
    • CloudLinux (based on CentOS)
  • BSD
    • FreeBSD/TrueOS/GhostBSD
    • NetBSD
    • OpenBSD
  • Unix
    • Solaris 11
    • OpenIndiana


  • .profile and .shrc are POSIX-compliant. They provide settings common to most shells and are sourced by the relevant zsh and bash dotfiles.
  • Everything is in vi-mode, although in zsh there are additional key bindings borrowed from emacs-mode.
  • The tmux and screen prefix key is Ctrl-Q (flow control has been disabled to allow this key binding). If you don't need flow control, Ctrl-Q is ideal: it does not interfere with any known application's key combinations.
  • Zenburn colors are used whenever possible (in Vim, obviously, as well as in tmux, ls, and mintty -- also see my Zenburn Color Schemes for Windows Terminal).


Clone this repository to a ~/dotfiles directory (the directory name is hard-coded at the moment) and run the installation script:

git clone "$HOME/dotfiles"
cd "$HOME/dotfiles"

That will copy relevant configuration files to your home directory. The files copied depend on what shells or other programs you have installed on your system, so if you install others in the future, run the installation script again or type


in any POSIX-compliant shell. update_dotfiles is a function that pulls in the latest commits to my dotfiles repository and does what is necessary to update the system.

My .zshrc also provides a zsh_update function that runs update_dotfiles and updates zplugin and any plugins or snippets.

You can’t perform that action at this time.