dotfiles-old
dotfiles-old copied to clipboard
Git, vim, tmux, i3, and zsh or bash for python web development
Overview
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.
Try it before you buy (err, use) it
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.
Features
Shell aliases
-
gst
- git status -
gad
- git add -
gbr
- git branch -
gcm
- git commit -
gdi
- git diff -
gdt
- git difftool -
gco
- git checkout -
glo
- pretty git log -
gpv
- switch to previous git branch -
to
- create tmux session named after current directory -
to [name]
- create tmux session with name -
ta [name]
- attach to tmux session, with tab completion -
tl
- list tmux sessions -
mkve [name]
- make a new virtualenv -
wo [name]
- work on a virtualenv, with tab completion -
py
- python -
ipy
- ipython -
fl
- flake8 -
rn
- ranger -
xf
- extract various archive file types
Vim plugins
- 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
Install
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
Options
--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
Backups
By default, backups of your current dotfiles are created at ~/.filename.dotbackup
.
To delete the backups:
$ ./bootstrap.sh --delete-backups
Updating
$ ./bootstrap.sh --update
Software
Ubuntu
$ sudo apt-get install git vim-nox zsh tmux i3 ranger python python-dev python-setuptools curl
Mac OS X
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
Python tools
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