*vundle.txt*          Vundle, a plug-in manager for Vim.             *vundle*

                              VUNDLE MANUAL

1. About Vundle                                    |vundle-about|
2. Quick Start                                     |vundle-quickstart|
3. Plugins                                         |vundle-plugins|
  3.1. Configuring Plugins                         |vundle-plugins-configure|
  3.2. Supported URIs                              |vundle-plugins-uris|
  3.3. Installing Plugins                          |vundle-plugins-install|
  3.4. Updating Plugins                            |vundle-plugins-update|
  3.5. Searching Plugins                           |vundle-plugins-search|
  3.6. Listing Plugins                             |vundle-plugins-list|
  3.7. Cleaning Up                                 |vundle-plugins-cleanup|
4. Interactive Mode                                |vundle-interactive|
5. Key Mappings                                    |vundle-keymappings|
6. Options                                         |vundle-options|
7. Plugin Interface Change                         |vundle-interface-change|

=============================================================================
1. ABOUT VUNDLE ~
                                                               *vundle-about*

Vundle is short for Vim bundle and is a Vim plugin manager.

Vundle allows you to...

  - keep track of and configure your scripts right in the `.vimrc`
  - install configured scripts (a.k.a. bundle)
  - update configured scripts
  - search by name all available Vim scripts
  - clean unused scripts up
  - run the above actions in a single keypress with interactive mode

Vundle automatically...

  - manages the runtime path of your installed scripts
  - regenerates help tags after installing and updating

Vundle's search uses http://vim-scripts.org to provide a list of all
available Vim scripts.

Vundle is undergoing an interface change, see |vundle-interface-change| for
more information.

=============================================================================
2. QUICK START ~
                                                          *vundle-quickstart*

1. Introduction:

  Installation requires `Git` and triggers git clone for each configured
  repository to `~/.vim/bundle/` by default. Curl is required for search.

                                                             *vundle-windows*
  If you are using Windows, see instructions on the Wiki
  https://github.com/VundleVim/Vundle.vim/wiki/Vundle-for-Windows.

                                                                 *vundle-faq*
  If you run into any issues, please consult the FAQ at
  https://github.com/VundleVim/Vundle.vim/wiki

2. Setup Vundle:
>
  git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
<
3. Configure bundles:

  Put this at the top of your `.vimrc` to use Vundle. Remove bundles you
  don't need, they are for illustration purposes.
>
    set nocompatible              " be iMproved, required
    filetype off                  " required

    " set the runtime path to include Vundle and initialize
    set rtp+=~/.vim/bundle/Vundle.vim
    call vundle#begin()
    " alternatively, pass a path where Vundle should install plugins
    "call vundle#begin('~/some/path/here')

    " let Vundle manage Vundle, required
    Plugin 'VundleVim/Vundle.vim'

    " The following are examples of different formats supported.
    " Keep Plugin commands between vundle#begin/end.
    " plugin on GitHub repo
    Plugin 'tpope/vim-fugitive'
    " plugin from http://vim-scripts.org/vim/scripts.html
    Plugin 'L9'
    " Git plugin not hosted on GitHub
    Plugin 'git://git.wincent.com/command-t.git'
    " git repos on your local machine (i.e. when working on your own plugin)
    Plugin 'file:///home/gmarik/path/to/plugin'
    " The sparkup vim script is in a subdirectory of this repo called vim.
    " Pass the path to set the runtimepath properly.
    Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
    " Avoid a name conflict with L9
    Plugin 'user/L9', {'name': 'newL9'}

    " All of your Plugins must be added before the following line
    call vundle#end()            " required
    filetype plugin indent on    " required
    " To ignore plugin indent changes, instead use:
    "filetype plugin on
    "
    " Brief help
    " :PluginList          - list configured plugins
    " :PluginInstall(!)    - install (update) plugins
    " :PluginSearch(!) foo - search (or refresh cache first) for foo
    " :PluginClean(!)      - confirm (or auto-approve) removal of unused plugins
    "
    " see :h vundle for more details or wiki for FAQ
    " Put your non-Plugin stuff after this line

4. Install configured bundles:

  Launch vim and run
>
    :PluginInstall
<
  To install from command line:
>
    vim +PluginInstall +qall

=============================================================================
3. PLUGINS ~
                                                             *vundle-plugins*

3.1 CONFIGURING PLUGINS ~
                                         *vundle-plugins-configure* *:Plugin*

Vundle tracks what plugins you want configured by the `Plugin` commands in your
`.vimrc`. Each `Plugin` command tells Vundle to activate the script on startup
adding it to your |runtimepath|. Commenting out or removing the line will
disable the `Plugin`.

Each `Plugin` command takes a URI pointing to the script. No comments should
follow on the same line as the command. Example:
>
  Plugin 'git_URI'

The `Plugin` command can optionally take a second argument after the URI. It
has to be a dictionary, separated from the URI by a comma. Each key-value pair
in the dictionary is a configuration option.

The following per-script configuration options are available.

The 'rtp' option
----------------

Specifies a directory inside the repository (relative path from the root of
the repository) where the vim plugin resides. It determines the path that will
be added to the |runtimepath|.

For example:
>
  Plugin 'git_URI', {'rtp': 'some/subdir/'}

This can be used with git repositories that put the vim plugin inside a
subdirectory.

The 'name' option
-----------------

The name of the directory that will hold the local clone of the configured
script.

For example:
>
  Plugin 'git_URI', {'name': 'newPluginName'}

This can be used to prevent name collisions between plugins that Vundle would
otherwise try to clone into the same directory. It also provides an additional
level of customisation.

The 'pinned' option
-------------------

A flag that, when set to a value of 1, tells Vundle not to perform any git
operations on the plugin, while still adding the existing plugin under the
`bundles` directories to the |runtimepath|.

For example:
>
  Plugin 'mylocalplugin', {'pinned': 1}

This allows the users to include, with Vundle, plugins tracked with version
control systems other than git, but the user is responsible for cloning and
keeping up to date. It also allows the users to stay in the current version of
a plugin that might have previously been updated by Vundle.

Please note that the URI will be treated the same as for any other plugins, so
only the last part of it will be added to the |runtimepath|. The user is
advised to use this flag only with single word URIs to avoid confusion.

3.2 SUPPORTED URIS ~
                                                        *vundle-plugins-uris*

`Vundle` integrates very well with both GitHub and vim-scripts.org
(http://vim-scripts.org/vim/scripts.html) allowing short URIs. It also allows
the use of any URI `git` recognizes. In all of the following cases (except
local) the 'https' protocol is used, see Vundle's options to override this.

More information on `git`'s protocols can be found at:
http://git-scm.com/book/ch4-1.html

GitHub
------
GitHub is used when a user/repo is passed to `Plugin`.
>
  Plugin 'VundleVim/Vundle.vim' => https://github.com/VundleVim/Vundle.vim

Vim Scripts
-----------
Any single word without a slash '/' is assumed to be from Vim Scripts.
>
  Plugin 'ctrlp.vim' => https://github.com/vim-scripts/ctrlp.vim

Other Git URIs
--------------
No modification is performed on valid URIs that point outside the above
URLs.
>
  Plugin 'git://git.wincent.com/command-t.git'

Local Plugins
-------------
The git protocol supports local installation using the 'file://' protocol.
This is handy when developing plugins locally. Follow the protocol with an
absolute path to the script directory.
>
  Plugin 'file:///path/from/root/to/plugin'

3.3 INSTALLING PLUGINS ~
                                    *vundle-plugins-install* *:PluginInstall*
>
  :PluginInstall

Will install all plugins configured in your `.vimrc`. Newly installed
plugins will be automatically enabled. Some plugins may require extra steps
such as compilation or external programs, refer to their documentation.

PluginInstall allows installation of plugins by name:
>
  :PluginInstall unite.vim

Installs and activates unite.vim.

PluginInstall also allows installation of several plugins separated by space.
>
  :PluginInstall tpope/vim-surround tpope/vim-fugitive

Installs both tpope/vim-surround and tpope/vim-fugitive from GitHub.

You can use Tab to auto-complete known script names.
Note that the installation just described isn't permanent. To
finish, you must put `Plugin 'unite.vim'` at the appropriate place in your
`.vimrc` to tell Vundle to load the plugin at startup.

After installing plugins press 'l' (lowercase 'L') to see the log of commands
if any errors occurred.

3.4 UPDATING PLUGINS ~
                    *vundle-plugins-update* *:PluginUpdate* *:PluginInstall!*
>
  :PluginInstall!   " NOTE: bang(!)
or >
  :PluginUpdate

Installs or updates the configured plugins. Press 'u' after updates complete
to see the change log of all updated bundles. Press 'l' (lowercase 'L') to
see the log of commands if any errors occurred.

To update specific plugins, write their names separated by space:
>
  :PluginInstall! vim-surround vim-fugitive
or >
  :PluginUpdate vim-surround vim-fugitive

3.5 SEARCHING PLUGINS ~
                                      *vundle-plugins-search* *:PluginSearch*
>
  :PluginSearch

Search requires that `curl` be available on the system. The command searches
Vim Scripts (http://vim-scripts.org/vim/scripts.html) for matching
plugins. Results display in a new split window. For example:
>
  PluginSearch foo

displays:
>
  "Search results for: foo
  Plugin 'MarkdownFootnotes'
  Plugin 'VimFootnotes'
  Plugin 'foo.vim'
<
                                                             *:PluginSearch!*
Alternatively, you can refresh the script list before searching by adding a
bang to the command.
>
  :PluginSearch! foo

If the command is run without argument:
>
  :PluginSearch!

it will display all known plugins in the new split.

3.6 LISTING BUNDLES ~
                                          *vundle-plugins-list* *:PluginList*
>
  :PluginList

Displays a list of installed bundles.

3.7 CLEANING UP ~
                                      *vundle-plugins-cleanup* *:PluginClean*
>
  :PluginClean

Requests confirmation for the removal of all plugins no longered configured
in your `.vimrc` but present in your bundle installation directory
(default: `.vim/bundle/`).

                                                              *:PluginClean!*
>
  :PluginClean!

Automatically confirm removal of unused bundles.

=============================================================================
4. INTERACTIVE MODE ~
                                                         *vundle-interactive*

Vundle provides a simple interactive mode to help you explore new plugins
easily.  Interactive mode is available after any command that lists `Plugins`
such as PluginSearch, PluginList or Plugins. For instance:
>
  :PluginSearch! unite

Searches for plugins matching 'unite' and yields a split window with:
>
  "Keymap: i - Install bundle; c - Cleanup; s - Search; R - Reload list
  "Search results for: unite
  Plugin 'unite-scriptenames'
  Plugin 'unite.vim'
  Plugin 'unite-yarm'
  Plugin 'unite-gem'
  Plugin 'unite-locate'
  Plugin 'unite-font'
  Plugin 'unite-colorscheme'

To install a bundle, move your cursor to the Plugin of interest and then
select a command. To install 'unite.vim' put your cursor on the line and
then push `i`. For a more complete list see |vundle-keymappings|. After
unite.vim is installed the `:Unite file` command should be available.

Note: Interactive installation doesn't update your `.vimrc`.

=============================================================================
5. KEY MAPPINGS ~
                                                         *vundle-keymappings*

KEY | DESCRIPTION
----|-------------------------- >
 i  |  run :PluginInstall with name taken from line cursor is positioned on
 I  |  same as i, but runs :PluginInstall! to update bundle
 D  |  delete selected bundle (be careful not to remove local modifications)
 c  |  run :PluginClean
 s  |  run :PluginSearch
 R  |  fetch fresh script list from server

=============================================================================
6. OPTIONS ~
                                                             *vundle-options*
>
  let g:vundle_default_git_proto = 'git'
<
  This option makes Vundle use `git` instead of `https` when building
  absolute URIs. For example:
>
    Plugin 'sjl/gundo.vim' -> git@github.com:sjl/gundo.git

=============================================================================
7. VUNDLE INTERFACE CHANGE ~
                        *vundle-interface-change* *:Bundle* *:BundleInstall!*
                *:BundleUpdate* *:BundleSearch* *:BundleList* *:BundleClean!*
                            *:VundleInstall!* *:VundleUpdate* *:VundleSearch*
                                                *:VundleList* *:VundleClean!*

  In order to bring in new changes, Vundle is adopting a new interface.
  Going forward we will support primarily the Plugin namespace, additionally
  for convenience we will also alias some commands to the Vundle namespace.
  The following table summarizes the interface changes.

  Deprecated Names  | New Names
  -----------------------------
  Bundle            | Plugin
  BundleInstall(!)  | PluginInstall(!), VundleInstall(!)
  BundleUpdate      | PluginUpdate, VundleUpdate
  BundleSearch(!)   | PluginSearch(!), VundleSearch(!)
  BundleClean       | PluginClean(!), VundleClean(!)
  BundleList        | PluginList

  Note: The Bundle commands will be deprecated. You may continue using them,
  but they may not get all future updates. For instance, we have enabled
  comments on Plugin lines but not Bundle, since it requires a change in
  command declaration.

" vim: set expandtab sts=2 ts=2 sw=2 tw=78 ft=help norl:
