git clone git://github.com/doxavore/dotfiles.git
Where possible, Vim plugins are installed as git submodules. Check these out by running the commands:
cd dotfiles git submodule init git submodule update
Create symlinks (WARNING: this will be destructive if you have existing files here):
ln -nsf ~/dotfiles/ackrc ~/.ackrc ln -nsf ~/dotfiles/autotest ~/.autotest ln -ns ~/dotfiles/bin ~/bin ln -nsf ~/dotfiles/ctags ~/.ctags ln -nsf ~/dotfiles/gemrc ~/.gemrc ln -nsf ~/dotfiles/gitconfig ~/.gitconfig ln -nsf ~/dotfiles/gitignore ~/.gitignore ln -nsf ~/dotfiles/git_template ~/.git_template ln -nsf ~/dotfiles/irbrc ~/.irbrc ln -nsf ~/dotfiles/oh-my-zsh ~/.oh-my-zsh ln -nsf ~/dotfiles/rdebugrc ~/.rdebugrc ln -nsf ~/dotfiles/tmux.conf ~/.tmux.conf ln -nsf ~/dotfiles/vim ~/.vim ln -nsf ~/dotfiles/vimrc ~/.vimrc ln -nsf ~/dotfiles/gvimrc ~/.gvimrc ln -nsf ~/dotfiles/Xdefaults ~/.Xdefaults ln -nsf ~/dotfiles/zshrc ~/.zshrc ln -nsf ~/dotfiles/zshenv ~/.zshenv
Vim's backup and swap files attempt to go into
~/tmp, so ensure that
directory exists to avoid getting temp files in your working folder:
If you have rbenv installed, you can set the default version with:
ln -nsf ~/dotfiles/rbenv-version ~/.rbenv/version
If you have chruby installed, you can set the default version with:
ln -nsf ~/dotfiles/ruby-version ~/.ruby-version
For Ubuntu-specific shortcuts:
ln -nsf ~/dotfiles/ubuntu/local-share-apps/Eclipse.desktop ~/.local/share/applications/ ln -nsf ~/dotfiles/ubuntu/local-share-apps/HipChat.desktop ~/.local/share/applications/
Note: I've tried to make these scripts usable on Windows, but at the rate this project is evolving and how little I use Windows, I cannot make any guarantees.
After installing these dotfiles, initial setup now diverges depending on OS.
Mac OS X
Neocomplete requires lua support. Install MacVim and Vim with support with:
brew install macvim --with-cscope --with-lua --HEAD brew linkapps macvim brew install vim --with-lua --override-system-vim
Ensure dependencies are installed.
ack-grep is required for detection in vimrc (since
Mac OS X and Ubuntu have versions that expect different parameters), and
ruby-dev are necessary to have a system ruby to compile Vim Command-T against.
sudo apt-get install ack-grep ruby ruby-dev build-essential ctags libxml2 libxml2-dev libxslt1-dev
Ensure a system ruby is installed, and
rvm use system if necessary.
[sudo] gem install bundler cd ~/dotfiles/vim/bundle/command-t bundle install make clean rake make
If you run into issues installing nokogiri < 1.5.4 on Ubuntu,
~/dotfiles/vim/bundle/command-t/Gemfile.lock and update
it to 1.5.4 or newer (tested fine against 1.5.5 in Ubuntu 12.10).
To use the Solarized color palette in Gnome Terminal:
cd ~/dotfiles/gnome-terminal-colors-solarized ./set_dark.sh # Or: # ./set_light.sh
My preferences for Vim are stored in
respectively. All plugins and scripts are stored in the
To enable ctags navigation to installed gems, install the
gem ctags to generate ctags for existing gems.
(Gems installed after
gem-ctags will automatically be indexed.)
If using rbenv, install the
rbenv-ctags plugin to get Ruby stdlib tags:
mkdir -p ~/.rbenv/plugins git clone git://github.com/tpope/rbenv-ctags.git \ ~/.rbenv/plugins/rbenv-ctags
If using chruby, use
~/bin/chruby-ctags to generate stdlib tags.
node.js is installed and:
git clone git://github.com/mozilla/doctorjs.git ~/doctorjs cd ~/doctorjs git submodule init && git submodule update sudo make install
Some of the plugins have external requirements to work properly, but should behave well enough when not installed, so long as you don't use them.
- ack requires (surprise)
ackbe installed and available in your path.
- Command-T must be compiled - please follow its instructions in its docs. (Hint RVM/rbenv Users: You must use the system Ruby when compiling.)
- TagList requires ctags >= 5 be installed. OSX system
ctagsdoesn't work. Homebrew has a convenient formula to get you fixed up, just ensure your Homebrew path (
/usr/local/bin) is in your path before the default
/usr/bin/ctags. Since Vim doesn't use an interactive shell, these dotfiles split the
$PATH-related entries into
.zshenvto ensure it picks up the
$PATHyou would expect. If ctags >= 5 is in your default system path, you're already set.
Adding Plugin Bundles
This will update the
.gitmodules file by appending something like:
As well as checkout out the git repo into the
directory. If, after restarting Vim, Git is showing a
file for your newly-added submodule, edit
.gitmodules to add an
line for the submodule:
You can then commit these changes as follows:
The Vimwiki makes a few assumptions to work properly:
- You have a Vimwiki directory at ~/vimwiki
- That ~/vimwiki directory is a git repository with a remote origin
- On each save to the wiki, you want to push the changes to remote
- Upon opening the wiki index, you want to pull and merge from remote
If you follow those principles, the following works out of the box:
<Leader>wwopens your wiki index
<Leader>wssearches your wiki using the ack plugin
<Leader>lbegins a new timestamped diary entry
<Leader>Lopens your diary index
My preferences for IRB customisations are stored in
irbrc. To get
the most from these, you should install the following gems:
You can get them in one go with: gem install awesome_print hirb interactive_editor looksee sketches
To use these in a Rails 3 console, you'll need to add them to a development group in your Gemfile:
group :development do gem 'awesome_print' gem 'hirb' gem 'interactive_editor' gem 'looksee' gem 'sketches' end