Skip to content

Commit

Permalink
Upgrade Vundle to NeoBundle
Browse files Browse the repository at this point in the history
NeoBundle is similar to Vundle but better. See README for upgrade instructions.
  • Loading branch information
vitaly committed Feb 5, 2014
1 parent 8346305 commit 5d176bb
Show file tree
Hide file tree
Showing 5 changed files with 146 additions and 88 deletions.
3 changes: 3 additions & 0 deletions Changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
* experimental
- upgrade to NeoBundle. IMPORTANT: See readme for upgrade instructions

* 2014-02-05
- golang syntax support (thanks @torkale)
- josemarluedke/vim-rspec - lightweight Rspec runner for Vim (@torkale)
Expand Down
54 changes: 39 additions & 15 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,29 +2,53 @@
# line variable
RUBY ?= $(shell ./find-ruby.sh)

update: install-vundle bundles compile-command-t

upgrade: upgrade-bundles compile-command-t

install: delete update
default: install

.PHONY: delete git-cleanup cleanup compile-command-t compile-vimproc compile install reinstall help
delete:
@echo going to remove the bundle directory. press ENTER to continue.
@read something
rm -rf bundle

install-vundle:
test -d bundle/vundle || (mkdir -p bundle && cd bundle && git clone https://github.com/gmarik/vundle.git)

bundles:
vim -u ./bundles.vim +BundleClean! +BundleInstall

cleanup-bundles:
NEOBUNDLE := bundle/neobundle.vim
${NEOBUNDLE}:
@echo
@echo
@echo '**************************************************************'
@echo '* UPGRADING vundle => neobundle *'
@echo '* *'
@echo '* Your existing vundle repository will be DELETED!!!! *'
@echo '* press ENTER to continue, Ctrl-C to stop *'
@echo '**************************************************************'
@read a
rm -rf bundle/vundle
mkdir -p bundle && cd bundle && git clone https://github.com/Shougo/neobundle.vim.git
@echo
@echo '**************************************************************************'
@echo '* DONE! You might need to upgrade your bundles.vim to the new format. *'
@echo '* see https://github.com/Shougo/neobundle.vim *'
@echo '**************************************************************************'
@echo

git-cleanup:
ls bundle | while read b;do (cd bundle/$$b && git clean -f);done

upgrade-bundles: cleanup-bundles
vim -u ./bundles.vim +BundleClean! +BundleInstall!
cleanup:
vim -u bundles.vim +NeoBundleClean +NeoBundleCheck +NeoBundleDocs

# only run compilation if bundle installed
compile-command-t:
test ! -d bundle/Command-T || (cd bundle/Command-T/ruby/command-t/ && $(RUBY) extconf.rb && make)

compile-vimproc:
test ! -d bundle/vimproc || make -C bundle/vimproc

compile: compile-command-t compile-vimproc

install: ${NEOBUNDLE} cleanup compile

reinstall: delete install

help:
@echo 'make help print this message'
@echo 'make install (default) make sure all bundles installed and compiled'
@echo 'make reinstall [DANGEROUS!] - remove bundles and reinstall'
25 changes: 23 additions & 2 deletions README.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,11 @@ All the right plugins are in. Nerdtree, CtrlP, you name it.
The focus is on supporting Rails, but there is a lot of generic stuff too, so
it will surely serve you well with any language of your choice.

The config is using [Vundle](http://github.com/gmarik/vundle) for easy
upgrading.
The config is using [NeoBundle](https://github.com/Shougo/neobundle.vim) for easy
upgrading. The list of installed bundles is in the `bundles.vim`

> IMPORTANT: See [upgrade](#upgrade_neobundle) if you have an older Vundle
> based install.
*Some* help tips are provided for *some* of the plugins. please check out the
plugin's docs for more info.
Expand All @@ -23,6 +26,7 @@ announcements of new versions, tips, etc.
#### Contents

* [Installation](#installation)
* [Neobundle upgrade](#upgrade_neobundle)
* [General Configuration](#general)
* [Local configuration](#local)
* [Backups](#backups)
Expand Down Expand Up @@ -105,6 +109,23 @@ From your homedirectory (on Linux/Mac OSX):
[top](#top)

<a name=upgrade_neobundle>
#### Neobundle Upgrade

Dotvim was updated to use Neobundle instead of Vundle. NeoBundle is mostly
similar but supports more ways to install bundles, better install, locked
revisions and more.

To upgrade from an older Vundle based setup simply pull the latest version and
run `make`.

> Note: if you modified your `bundles.vim` you will need to replace all
> instances of `Bundle` with `NeoBundle` in it. Until you do your vim might
> print error messages during startup. ignore them and fix the `bundles.vim`,
> then run `make`.
[top](#top)

<a name=general>
#### General configuration

Expand Down
3 changes: 3 additions & 0 deletions after.vim
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
" This file is loaded from after/plugin/after.vim
" which means it loads AFTER the rest of the plugins

NeoBundleCheck
NeoBundleDocs

source ~/.vim/bindings.vim
source ~/.vim/plugins-override.vim

Expand Down
149 changes: 78 additions & 71 deletions bundles.vim
Original file line number Diff line number Diff line change
@@ -1,130 +1,137 @@
set nocompatible
filetype off
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()

if has('vim_starting')
set runtimepath+=~/.vim/bundle/neobundle.vim/
endif

call neobundle#rc(expand('~/.vim/bundle/'))

" plugin management
Bundle 'gmarik/vundle'
NeoBundleFetch 'Shougo/neobundle.vim'

" file tree
Bundle 'scrooloose/nerdtree'
NeoBundle 'scrooloose/nerdtree'
" file tree and tabs interaction
Bundle 'jistr/vim-nerdtree-tabs'
NeoBundle 'jistr/vim-nerdtree-tabs'
" commenting
Bundle 'scrooloose/nerdcommenter'
NeoBundle 'scrooloose/nerdcommenter'
" fuzzy file open
Bundle 'kien/ctrlp.vim'
NeoBundle 'kien/ctrlp.vim'
" popup completion menu
Bundle 'AutoComplPop'
NeoBundle 'AutoComplPop'
" tags list navigation
Bundle 'taglist.vim'
NeoBundle 'taglist.vim'
" yank history
Bundle 'YankRing.vim'
NeoBundle 'YankRing.vim'
" git integration
Bundle 'tpope/vim-fugitive'
NeoBundle 'tpope/vim-fugitive'
" syntax checking on save
Bundle 'scrooloose/syntastic'
NeoBundle 'scrooloose/syntastic'
" TextMate-style snippets
Bundle 'msanders/snipmate.vim'
NeoBundle 'msanders/snipmate.vim'
" manipulation of surraunding parens, quotes, etc.
Bundle 'tpope/vim-surround'
NeoBundle 'tpope/vim-surround'
" vertical alignment tool
Bundle 'tsaleh/vim-align'
NeoBundle 'tsaleh/vim-align'
" 'ag' searching integration
Bundle 'rking/ag.vim'
NeoBundle 'rking/ag.vim'
" text object based on indent level (ai, ii)
Bundle 'austintaylor/vim-indentobject'
NeoBundle 'austintaylor/vim-indentobject'
" global search & replace
Bundle 'greplace.vim'
NeoBundle 'greplace.vim'
" better looking statusline
Bundle 'astrails/vim-powerline'
NeoBundle 'astrails/vim-powerline'
" plugin for resolving three-way merge conflicts
Bundle 'sjl/splice.vim'
NeoBundle 'sjl/splice.vim'
" plugin for visually displaying indent levels
Bundle 'Indent-Guides'
NeoBundle 'Indent-Guides'
" end certain structures automatically, e.g. begin/end etc.
Bundle 'tpope/vim-endwise'
NeoBundle 'tpope/vim-endwise'
" automatic closing of quotes, parenthesis, brackets, etc.
Bundle 'Raimondi/delimitMate'
NeoBundle 'Raimondi/delimitMate'
" calendar, duh!
Bundle 'calendar.vim--Matsumoto'
NeoBundle 'calendar.vim--Matsumoto'
" A Narrow Region Plugin (similar to Emacs)
Bundle 'chrisbra/NrrwRgn'
NeoBundle 'chrisbra/NrrwRgn'
" url based hyperlinks for text files
Bundle 'utl.vim'
NeoBundle 'utl.vim'
" A clone of Emacs' Org-mode for Vim
Bundle 'hsitz/VimOrganizer'
NeoBundle 'hsitz/VimOrganizer'
" visual undo tree
Bundle 'sjl/gundo.vim'
NeoBundle 'sjl/gundo.vim'
" switch segments of text with predefined replacements. e.g. '' -> ""
Bundle 'AndrewRadev/switch.vim'
NeoBundle 'AndrewRadev/switch.vim'
" async external commands with output in vim
Bundle 'tpope/vim-dispatch'
NeoBundle 'tpope/vim-dispatch'
" git diff in the gutter (sign column) and stages/reverts hunks
Bundle 'airblade/vim-gitgutter'
NeoBundle 'airblade/vim-gitgutter'

" Ruby/Rails

" rails support
Bundle 'tpope/vim-rails'
NeoBundle 'tpope/vim-rails'
" bundler integration (e.g. :Bopen)
Bundle 'tpope/vim-bundler'
NeoBundle 'tpope/vim-bundler'
" rake integration
Bundle 'tpope/vim-rake'
NeoBundle 'tpope/vim-rake'
" A custom text object for selecting ruby blocks (ar/ir)
Bundle 'nelstrom/vim-textobj-rubyblock'
NeoBundle 'nelstrom/vim-textobj-rubyblock'
" ruby refactoring
Bundle 'ecomba/vim-ruby-refactoring'
NeoBundle 'ecomba/vim-ruby-refactoring'
" apidock.com docs integration
Bundle 'apidock.vim'
NeoBundle 'apidock.vim'
" toggle ruby blocks style
Bundle 'vim-scripts/blockle.vim'
NeoBundle 'vim-scripts/blockle.vim'
" lightweight Rspec runner for Vim
Bundle 'josemarluedke/vim-rspec'
NeoBundle 'josemarluedke/vim-rspec'

" color themes
Bundle 'altercation/vim-colors-solarized'
Bundle 'tpope/vim-vividchalk'
Bundle 'chriskempson/tomorrow-theme', {'rtp': 'vim/'}
NeoBundle 'altercation/vim-colors-solarized'
NeoBundle 'tpope/vim-vividchalk'
NeoBundle 'chriskempson/tomorrow-theme', {'rtp': 'vim/'}

" syntax support
Bundle 'vim-ruby/vim-ruby'
Bundle 'tsaleh/vim-tmux'
Bundle 'Puppet-Syntax-Highlighting'
Bundle 'JSON.vim'
Bundle 'tpope/vim-cucumber'
Bundle 'tpope/vim-haml'
Bundle 'tpope/vim-markdown'
Bundle 'kchmck/vim-coffee-script'
Bundle 'vitaly/vim-syntastic-coffee'
Bundle 'vim-scripts/jade.vim'
Bundle 'wavded/vim-stylus'
Bundle 'VimClojure'
Bundle 'slim-template/vim-slim'
Bundle 'elixir-lang/vim-elixir'
Bundle 'Blackrush/vim-gocode'
Bundle 'ekalinin/Dockerfile.vim'
NeoBundle 'vim-ruby/vim-ruby'
NeoBundle 'tsaleh/vim-tmux'
NeoBundle 'Puppet-Syntax-Highlighting'
NeoBundle 'JSON.vim'
NeoBundle 'tpope/vim-cucumber'
NeoBundle 'tpope/vim-haml'
NeoBundle 'tpope/vim-markdown'
NeoBundle 'kchmck/vim-coffee-script'
NeoBundle 'vitaly/vim-syntastic-coffee'
NeoBundle 'vim-scripts/jade.vim'
NeoBundle 'wavded/vim-stylus'
NeoBundle 'VimClojure'
NeoBundle 'slim-template/vim-slim'
NeoBundle 'elixir-lang/vim-elixir'
NeoBundle 'Blackrush/vim-gocode'
NeoBundle 'ekalinin/Dockerfile.vim'

" Support and minor

" Support for user-defined text objects
Bundle 'kana/vim-textobj-user'
NeoBundle 'kana/vim-textobj-user'
" replacement for the repeat mapping (.) to support plugins
Bundle 'tpope/vim-repeat'
NeoBundle 'tpope/vim-repeat'
" hide .gitignore-d files from vim
Bundle 'vitaly/vim-gitignore'
NeoBundle 'vitaly/vim-gitignore'
" repeat motion with <Space>
Bundle 'scrooloose/vim-space'
NeoBundle 'scrooloose/vim-space'
" Github's gist support
Bundle 'mattn/gist-vim'
NeoBundle 'mattn/gist-vim'
" web APIs support
Bundle 'mattn/webapi-vim'
NeoBundle 'mattn/webapi-vim'

"NeoBundle 'ShowMarks'
"NeoBundle 'tpope/vim-unimpaired'
"NeoBundle 'reinh/vim-makegreen'

NeoBundle 'Shougo/vimproc'
NeoBundle 'Shougo/unite.vim'
NeoBundle 'Shougo/unite-outline'
NeoBundle 'ujihisa/unite-colorscheme'

"Bundle 'ShowMarks'
"Bundle 'tpope/vim-unimpaired'
"Bundle 'reinh/vim-makegreen'
filetype plugin indent on

Bundle 'Shougo/vimproc'
Bundle 'Shougo/unite.vim'
Bundle 'Shougo/unite-outline'
Bundle 'ujihisa/unite-colorscheme'

0 comments on commit 5d176bb

Please sign in to comment.