This is a complete development configuration using git, vim, tmux, i3, and bash or zsh. It should be installable in any *nix bash system, though the software tools themselves will need to be installed by your system's package manager.
To test drive the environment (minus i3) before committing, install Vagrant, build an image with this repo pre-installed, and ssh in:
$ git clone https://github.com/alanctkc/dotfiles-old.git
$ cd dotfiles-old
$ vagrant up
$ vagrant ssh
You can, of course, just keep this box installed and do your development in there. You'll just want to change your git name and email in ~/.gitconfig
to your own first.
gst
- git statusgad
- git addgbr
- git branchgcm
- git commitgdi
- git diffgdt
- git difftoolgco
- git checkoutglo
- pretty git loggpv
- switch to previous git branchto
- create tmux session named after current directoryto [name]
- create tmux session with nameta [name]
- attach to tmux session, with tab completiontl
- list tmux sessionsmkve [name]
- make a new virtualenvwo [name]
- work on a virtualenv, with tab completionpy
- pythonipy
- ipythonfl
- flake8rn
- rangerxf
- extract various archive file types
- vundle - vim plugin manager
- ctrlp - quickly call files into buffers
- vim-handlebars - handlebars template compatibility and syntax
- vim-jinja2-syntax - jinja2 template compatibility and syntax
- python-mode - python niceties, wrapping, etc
- syntastic - syntax and coding convention checker
- tcomment_vim - easy comment/uncomment
- vim-airline - pretty status bar
- vim-bundle-mako - mako template compatibility and syntax
- vim-colorschemes - lots of color options
- vim-fugitive - git branches and features
- vim-golang - Go compatibility and syntax
- vim-less - LESS compatibility and syntax
- vim-surround - surround text motion
- vim-unimpaired - useful extra motions
- matchit - use % to jump around html and other extras
- python-matchit - use % to jump around python code
- vim-sneak - quickly jump to characters
- emmet-vim - html expansion from selectors
- jedi-vim - python autocomplete and function prototypes
- neocomplete - miscellaenous autocomplete
Clone the repository to a permanent home (configuration files will be symlinked):
$ git clone https://github.com/alanctkc/dotfiles-old.git
$ cd dotfiles-old
$ ./bootstrap.sh
--git-name "[name]"
- Specify the full user.name for git configuration
--git-email [email]
- Specify the full user.email for git configuration
--no-virtualenv
- Exclude virtualenvwrapper installation (using virtualenv-burrito)
--no-bash
- Exclude bash configuration
--no-zsh
- Exclude zsh configuration
--no-git
- Exclude git configuration
--no-i3
- Exclude i3 configuration
--no-vim
- Exclude vim configuration
--no-tmux
- Exclude tmux configuration
--no-ipython
- Exclude ipython configuration
By default, backups of your current dotfiles are created at ~/.filename.dotbackup
.
To delete the backups:
$ ./bootstrap.sh --delete-backups
$ ./bootstrap.sh --update
$ sudo apt-get install git vim-nox zsh tmux i3 ranger python python-dev python-setuptools curl
Xcode - Install command line tools
Homebrew: http://mxcl.github.io/homebrew/
$ brew install python git zsh tmux ranger
$ brew install vim --with-lua
Override system Python with hombrew version if necessary:
$ cd /System/Library/Frameworks/Python.framework/Versions
$ sudo mv Current Current.bak
$ sudo ln -s /usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7 Current
IPython is a fantastic python interactive shell, and flake8 lets vim show you where you're not adhering to python syntax or coding style.
$ sudo easy_install pip
$ sudo easy_install ipython
$ sudo easy_install flake8