Ruby/Rails centric vimfiles and installer
Vim 7.3 or better Tested on MacOS and Linux
Introduction to Vim: http://blog.interlinked.org/tutorials/vim_tutorial.html
The leader is mapped to ,
In Normal mode (
,p - File browser (NerdTree)
,f - Find in Files (Command-t)
Space - Search in buffer
,a - Search in files (Ack)
,b - Search open buffers (Fuzzy Finder)
,d - close buffer
,D - close all buffers
,Space - Remove search highlighting
,t - Show tags
// - Comment/uncomment (T-Comment)
F5 - Undo history (GUndo)
F6 - Auto format
Tab - Next buffer
Shift + Tab - Previous buffer
,, - Toggle between last two buffers
,m - Jump to model
,v - Jump to view
,gm - Find in app/models
,gc - Find in app/controller
,gv - Find in app/views
,gr - Open routes in split
,gg - Open Gemfile in split
,vir - Visual select inner Ruby block
,var - Visual select around Ruby block
In Insert mode (
jj - Back to normal mode
.vimrc for more.
Gist current file/selection
Requires setting GITHUB_TOKEN and GITHUB_USER Env's
Navigate changes history tree
:Gstatus and press
- to stage file
Lots of stuff
:Rmodel - jump to model
Allow selecting of blocks of Ruby code
var (visual around Ruby)
vir (visual inner Ruby)
ir (expand/contract selection)
Add RVM integration
Note you can also drop back to the terminal using Ctrl+Z, to get
back to Vim with
%1. This is not a feature of Conque.
Comment stuff out
TAB to expand
Shows history of yanked (copied) text
Search project for text (aka find in files)
,a "some words"
Project file browser
I would recommend for speed using Command-t instead
Expand CSS selectors
div.event in to markup
Allows adding/removing/changing of surroundings
I would highly recommend getting to know this plugin, it is very useful. Especially when you grok text objects.
ysiw) - surround inner word with
ysiw( - surround inner word with
In the above example
iw can be replaced with any text object or motion.
If you find yourself manually adding surroundings, stop and work out the correct text object or motion.
cs"' - change surrounding from
ds - delete surrounding
yss<p> - surround line in
cst<div> - change surround tag to
Find files in your project with partial matches
,gf - find files in directory of current buffer
A colour scheme, both light and dark version
Find open buffer by path/filename
Lists method names
Note: If you already have Vim installed ensure it has support for Ruby:
vim --version | grep ruby
You should see
+ruby, if you see
-ruby you need to reinstall Vim with Ruby support
Install Vim (if not already installed)
MacOS: MacVim / Vim
brew install macvim --override-system-vim --enable-clipboard Add /usr/local/bin before /usr/bin in your $PATH so you use the version of brew installed by Homebrew, not the one that comes with MacOS.
By installing Vim in this way MacVim and regular Vim are exactly the same.
Ubuntu: gVim / Vim
I have no experience with gVim, only regular Vim on Ubuntu:
sudo apt-get install vim-nox
GNU/Linux from source
If you have an old GNU/Linux distro which does not have Vim 7.3 or better in its repos then install from source:
The configure options below leave out any GUI related features as I have only compiled Vim on a server.
Vim source is in a hg (Mercurial) repository so you need to install the hg
client first, e.g.
sudo apt-get install mercurial.
hg clone https://vim.googlecode.com/hg/ vim cd vim/vim73 ./configure ./configure --with-features=huge --enable-cscope --enable-pythoninterp --enable-rubyinterp --enable-perlinterp --enable-multibyte make sudo make install
This installs Vim to /usr/local/bin, check this is in your $PATH before /usr/bin which may contain an older system version of Vim.
Install this Distro
Note: You will already have a ~/.vim folder, either delete or move it.
mv ~/.vim ~/.vim.old git clone https://github.com/krisleech/vimfiles ~/.vim cd ~/.vim rake install
curl https://raw.github.com/krisleech/vimfiles/master/bootstrap.sh -o - | sh
To update your Distro run at a later time
cd ~/.vim rake update
brew install ack brew install ctags
sudo apt-get install exuberant-ctags sudo apt-get install ack-grep sudo ln -s /usr/bin/ack-grep /usr/local/bin/ack
- #vim on freenode