Skip to content

Latest commit

 

History

History
120 lines (105 loc) · 5.78 KB

README.md

File metadata and controls

120 lines (105 loc) · 5.78 KB

vim-files

ruby code screenshot

Installation

The script setup.sh should be enough to make symbolic links and install required dependencies. However, some dependencies should be manually installed. Make sure you have installed: curl, npm, git, bundler, exuberant-ctags, silver searcher. It is tested in both linux(Ubuntu 12.10, 13.04) and OSX(Lion and Mountain Lion).

Plugins

The most important plugins I use are:

  • NeoBundle - package manager based on Vundle but way better in features and support.
  • unimpaired.vim - many useful mappings for back and forth operations
  • surround.vim - modify surrounding delimiters with a single keystroke
  • repeat.vim - add repeat funcionality with . command for many of Tim Pope's plugins
  • dispatch.vim - from within vim, run many shell commands with assynchronous support
  • endwise.vim - closes blocks like if, for automagically
  • abolish.vim - abolish typos with a smart abbreviation schema and some other cool features
  • vim-css-color - highlight colors written in css files
  • NerdCommenter - easily comment and uncomment lines, blocks, etc.
  • ctrlp.vim - fucking killer command to open files
  • ctrlp-modified.vim - ctrlp.vim extension to open files modified since last commit and since branch creation
  • Tagbar - adds a nice bar based on the tags for the current file.
  • vim-snippets - snippets repository for many languages for both [Snipmate], UltiSnip Snippets and NeoSnippet. Currently, I help maintaining Ruby and Elixir snippets.
  • NeoSnippet - snippets engine
  • delimitMate - auto close of (), [], {}
  • vim-airline - light and powerful status line plugin all written in VimL
  • scala-vim-support - scala indentation and syntax highlight
  • undotree - fucking awesome way to not loose nothing while undoing things
  • Syntastic - syntactic rules for many languages
  • vim-textobj-user - helps you define custom text objects
  • CamelCaseMotion - move between camel case and snake case words
  • vim-tags - easily generate ctags from within Vim
  • xml.vim - some goodies for our beloved xml editting
  • vim-visual-star-search - fix strange behaviour for * in visual mode
  • SwapIt - improves Vim <C-A> and <C-X> to work on words like yes, no, true, false and some others
  • vim-instant-markdown - automatically preview markdown edited within Vim
  • fugitive.vim - cool git wrapper
  • gitv - fugitive.vim extension to view git logs beautifully
  • [vim-signify] - adds nice signs warning about file modifications in a git tracked repository
  • gist-vim - creates, lists, reads, edits gists from within Vim
  • vim-ruby - helps editing Ruby source code
  • rails.vim - adds syntax highlight and helps editing Rails apps
  • vim-textobj-rubyblock - creates Vim text objects for ruby code(ir, ar). Also lets you use % to move between do .. end, if .. end and other paired ruby keywords

Organization

This repository is organized in such a way to avoid what I call .vimrc hell. I created it based on a friend's vim files.

General settings

All editor settings are place in conf directory. General settings are placed in conf/autocmd.vim and conf/defaults.vim. Shortcuts that are plugin independent are placed in conf/shortcuts.vim file.

Plugin settings

Each plugin has its entry in conf/bundles.vim file. This file is going to be used by NeoBundle install/enable the plugins. Plugins that need custom settings have a file with its name in plugin directory. All shortcuts plugins, plugin variables will be placed there. Vim automatically loads all these files when it is starting up.

Shortcuts

TODO