My vim distribution
Vim script
Switch branches/tags
Nothing to show
Latest commit c4b9691 Jun 4, 2017 @spastorino Update all the plugins



My vim config file and plugins distribution.

The project aims to provide a useful set of plugins avoiding in general the ones that discourages using vim the way it is.


  1. Basic package installation

    git clone .vim
    ln -s .vim/vimrc .vimrc
    cd .vim
    git submodule init
    git submodule update
  2. Install ctags related things

    brew install ctags (or use the package manager you like/have)
    gem install gem-browse
    gem install gem-ctags
    gem install ripper-tags
    gem ctags
  3. Generate ctags for Ruby stdlib

    These are the right directories for chruby
    cd ~/.rubies/2.2.2/lib/ruby/site\_ruby/2.2.0
    ctags -R *
    cd ~/.rubies/2.2.2/lib/ruby/2.2.0
    ctags -R *
    or instead of ctags -R * run ...
    ripper-tags -R --tag-relative -f tags
  4. Create git hooks to automatically generate ctags on your projects

    cd ~
    mkdir -p .git/hooks

    create ~/.ctags file with the following content


    create ctags file with the following content

    IGNORE=("/usr" "${HOME}/.gem" "${HOME}/.rbenv");
    for dir in "${IGNORE[@]}"
      case "$PWD" in
        ${dir}*) exit 0;;
    mkdir .git/tags_lock 2>/dev/null || exit 0
    trap "rmdir .git/tags_lock; rm -f .git/tags.$$" EXIT
    ripper-tags -R --tag-relative -f .git/tags.$$
    ctags -aR --tag-relative -f .git/tags.$$ --languages=-sql --exclude="*.rb"
    mv .git/tags.$$ .git/tags

    create post-commit file with the following content

    .git/hooks/ctags >/dev/null 2>&1 &

    generate post-checkout and post-merge with the same content

    cp post-commit post-checkout
    cp post-commit post-merge

    create post-rewrite file with the following content

    case "$1" in
     rebase) exec .git/hooks/post-merge ;;

    make the files executable

    chmod +x *

    config the templatedir and ctags alias

    git config --global init.templatedir '~/.git'
    git config --global alias.ctags '!.git/hooks/ctags'

    Use `git init` in existing repositories to copy these hooks in.


git pull
git submodule update

Disable plugins

If you want to disable a bundled plugin (for example gitgutter) create a ~/.vimrc.before with the following content …

let g:pathogen_disabled = ['gitgutter']