Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/srushti/vim-get
Vim setup with special focus on Ruby/Rails development, with the ability to quickly get latest on all your plugins.
https://github.com/srushti/vim-get
Last synced: 3 months ago
JSON representation
Vim setup with special focus on Ruby/Rails development, with the ability to quickly get latest on all your plugins.
- Host: GitHub
- URL: https://github.com/srushti/vim-get
- Owner: srushti
- Created: 2011-03-26T14:52:27.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2016-12-15T00:11:35.000Z (almost 8 years ago)
- Last Synced: 2024-05-31T13:34:40.506Z (6 months ago)
- Language: VimL
- Homepage: http://srushti.net
- Size: 279 KB
- Stars: 47
- Watchers: 7
- Forks: 8
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Ruby/Rails based vimfiles and installer
With the support for ruby, git, rvm, rails, rspec and so on.
## Requirements
Vim 7.3 or better
Tested on MacOS and LinuxIntroduction to Vim: http://blog.interlinked.org/tutorials/vim_tutorial.html
## Quick Install
curl https://raw.github.com/srushti/vim-get/master/install.sh -o - | sh
If you want to add another plugin, just edit the plugins.yml file and add the name & url of the source control of the plugin.
## Basic Mappings
The leader is mapped to `,`
**`Esc` is mapped to `jj`**
### In Normal mode (`Esc` or `jj`)
`,w` - Save all buffers and place the cursor back to sameplace.
`,W` - Save all buffers and place the cursor back to sameplace.
`,n` - File browser (NerdTree Toggle)
`,/` - File browser (NERDTree Find)
`Space` - Page Down
`Shift + Space` - Page Down
`Ctrl + Shift + Right` - Goto Next buffer
`Ctrl + Shift + Left` - Goto Previous buffer
`,a` - Search in files (Ack)
`,f` - Search open buffers (Fuzzy Finder like Textmate)
`,d` - close buffer
`,D` - close all buffers
`,u` - GUI Undo history (GUndo) (Needs Python version more than 2.4v)
`,,` - Toggle between last two buffers
### Open/Edit files
`,ew` - Open/Edit file in the current directory
`,es` - Open/Edit file in **HORIZONTAL SPLIT**
`,ev` - Open/Edit file in **VERTICAL SPLIT**
`,et` - Open/Edit file in **NEW TAB**
### Execute Ruby Specs
`,s` - Run one spec under the cursor
`,S` - Run all specs in the current file
`,-` - Rerun last rake command (most likely the last run spec)
### In Insert mode (`i`)
`jj` - Back to normal mode(or ESC) #
`uu` - Replaces with the charecter `-`
`hh` - Replaces with the charecter `=>`
`aa` - Replaces with the charecter `@`
`` - auto complete or expand snippet
See `.vimrc` for more.
## Plugins
### ruby (`F5`)
`F5` Executes the current file.
### rails
*So many* good stuff - get to know this plugin!
`,m` - Jump to model
`,v` - Jump to view
`,c` - Jump to controller
#### Test Ruby Specs
`,s` - Performs `.Rake` from rails plugin => normal `.rake`
`,S` - Performs `Rake` from rails plugin => normal `rake`
`,-` - Perform `Rake -` from rails plugin => normal `rake -`
`:help rails`
### coffee-script
CoffeeScript support
`:CoffeeCompile watch` show compiled js in split
https://github.com/kchmck/vim-coffee-script
### ruby-block
Provides text-objects for Ruby blocks
`var` (visual around Ruby)
`vir` (visual inner Ruby)
`ar` / `ir` (expand/contract selection)
`cir` (change inner Ruby)
`dar` (delete around Ruby)
http://vimcasts.org/blog/2010/12/a-text-object-for-ruby-blocks/
### sparkup (`ctrl+e`)
Expand CSS selectors `div.event` in to markup `
`http://net.tutsplus.com/articles/general/quick-tip-even-quicker-markup-with-sparkup/
### fugitive
Git integration
`,gd` - Git diff
`,gs` - Git status press `-` to stage file
`,gw` - Git write
`,ga` - Git add
`,gb` - Git blame
`,gco` - Git checkout
`,gci` - Git commit
`,gm` - Git move
`,gr` - Git remove
`:help fugitive`
http://vimcasts.org/episodes/fugitive-vim---a-complement-to-command-line-git/
### snippets usage (`TAB`)
Snippets, press `TAB` to expand
Examples (in a Ruby file):
`def`
`.each`
`.eado`
`ife`
### gundo (`,u`)
Navigate changes history tree
http://vimcasts.org/episodes/undo-branching-and-gundo-vim/
### conque
Terminal/Interactive programs
`:Conque zsh`
`:Conque ls`
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.### yankring
Shows history of yanked (copied) text
Pressing `ctrl + p` will also cycle through paste history
### ack (`,a`)
Search project for text (aka find in files)
`,a word`
`,a "some words"`
### nerdtree (`,n`)
Project file browser
`,n` opens file browser
`o` / `x` open and close files/folders
`m` menu to move/delete/copy files/folders
`?` Help
I use nerdtree for creating or moving files, but find command-t quicker for
opening files.### surround (`ys`/`cs`/`ds`)
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.*Characters*
`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 `"` to `'`
`ds` - delete surrounding
### Install these vimfiles manually
Note: You will already have a `~/.vim` folder, either delete or move it.
cp -r ~/.vim ~/.vim.old 2>/dev/null
rm -fr ~/.vim 2>/dev/null
rm -f ~/.vimrc 2>/dev/null
git clone https://github.com/srushti/vim-get.git ~/.vim && cd ~/.vim && rake updateor run:
curl https://raw.github.com/ravidsrk/vim-get/master/install.sh -o - | sh
#### To update to the latest vimfiles
cd ~/.vim
rake preinstall#### Install Dependacies
*MacOS*
brew install ack
brew install ctagsNote: MacOS comes with the BSD version of ctags which is not compatible.
*Ubuntu*
sudo apt-get install exuberant-ctags
sudo apt-get install ack-grep
sudo ln -s /usr/bin/ack-grep /usr/local/bin/ack