vim-pathogen README

The project's README from github.com/tpope/vim-pathogen. As one markdown file: README.md.

pathogen.vim

Manage your 'runtimepath' with ease. In practical terms, pathogen.vim makes it super easy to install plugins and runtime files in their own private directories.

For new users, I recommend using Vim's built-in package management instead. :help packages

Installation

Install to ~/.vim/autoload/pathogen.vim. Or copy and paste the following into your terminal/shell:

mkdir -p ~/.vim/autoload ~/.vim/bundle && \
curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim

If you're using Windows, change all occurrences of ~/.vim to ~\vimfiles.

Runtime Path Manipulation

Add this to your vimrc:

execute pathogen#infect()

If you're brand new to Vim and lacking a vimrc, vim ~/.vimrc and paste in the following super-minimal example:

execute pathogen#infect()
syntax on
filetype plugin indent on

Now any plugins you wish to install can be extracted to a subdirectory under ~/.vim/bundle, and they will be added to the 'runtimepath'. Observe:

cd ~/.vim/bundle && \
git clone https://github.com/tpope/vim-sensible.git

Now sensible.vim is installed. If you really want to get crazy, you could set it up as a submodule in whatever repository you keep your dot files in. I don't like to get crazy.

If you don't like the directory name bundle, you can pass a runtime relative glob as an argument:

execute pathogen#infect('stuff/{}')

The {} indicates where the expansion should occur.

You can also pass an absolute path instead. I keep the plugins I maintain under ~/src, and this is how I add them:

execute pathogen#infect('bundle/{}', '~/src/vim/bundle/{}')

Normally to generate documentation, Vim expects you to run :helptags on each directory with documentation (e.g., :helptags ~/.vim/doc). Provided with pathogen.vim is a :Helptags command that does this on every directory in your 'runtimepath'. If you really want to get crazy, you could even invoke Helptags in your vimrc. I don't like to get crazy.

Finally, pathogen.vim has a rich API that can manipulate 'runtimepath' and other comma-delimited path options in ways most people will never need to do. If you're one of those edge cases, look at the source. It's well documented.

Native Vim Package Management

Vim 8 includes support for package management in a manner similar to pathogen.vim. If you'd like to transition to this native support, pathogen.vim can help. Calling pathogen#infect() on an older version of Vim will supplement the bundle/{} default with pack/{}/start/{}, effectively backporting a subset of the new native functionality.

Runtime File Editing

:Vopen, :Vedit, :Vsplit, :Vvsplit, :Vtabedit, :Vpedit, and :Vread have all moved to scriptease.vim.

FAQ

Can I put pathogen.vim in a submodule like all my other plugins?

Sure, stick it under ~/.vim/bundle, and prepend the following to your vimrc:

runtime bundle/vim-pathogen/autoload/pathogen.vim

Or if your bundles are somewhere other than ~/.vim (say, ~/src/vim):

source ~/src/vim/bundle/vim-pathogen/autoload/pathogen.vim

Will you accept these 14 pull requests adding a .gitignore for tags so I don't see untracked changes in my dot files repository?

No, but I'll teach you how to ignore tags globally:

git config --global core.excludesfile '~/.cvsignore'
echo tags >> ~/.cvsignore

While any filename will work, I've chosen to follow the ancient tradition of .cvsignore because utilities like rsync use it, too. Clever, huh?

What about Vimballs?

If you really must use one:

:e name.vba
:!mkdir ~/.vim/bundle/name
:UseVimball ~/.vim/bundle/name

Why don't my plugins load when I use Vim sessions?

Vim sessions default to capturing all global options, which includes the 'runtimepath' that pathogen.vim manipulates. This can cause other problems too, so I recommend turning that behavior off:

set sessionoptions-=options

Contributing

If your commit message sucks, I'm not going to accept your pull request. I've explained very politely dozens of times that my general guidelines are absolute rules on my own repositories, so I may lack the energy to explain it to you yet another time. And please, if I ask you to change something, git commit --amend.

Beyond that, don't be shy about asking before patching. What takes you hours might take me minutes simply because I have both domain knowledge and a perverse knowledge of Vim script so vast that many would consider it a symptom of mental illness. On the flip side, some ideas I'll reject no matter how good the implementation is. "Send a patch" is an edge case answer in my book.

Self-Promotion

Like pathogen.vim? Follow the repository on GitHub and vote for it on vim.org. And if you're feeling especially charitable, follow tpope on Twitter and GitHub.

License

Copyright (c) Tim Pope. Distributed under the same terms as Vim itself. See :help license.

vim-pathogen (tpope/vim-pathogen)

Searching Database…

What is this?pathogen.vim is a Vim plugin that manages your 'runtimepath', making it super easy to install plugins and runtime files in their own private directories.
Is this a separate program, or something that lives inside Vim?It lives inside Vim: it is a single Vim script that loads with the editor and takes over how Vim finds and loads every other plugin.
Do I need anything besides Vim itself?No — it is a single self-contained Vim script with no external dependencies; plugins themselves are just cloned or unpacked into your bundle directory.
Is pathogen still the recommended way to manage Vim plugins?Not for new users — the author recommends Vim's built-in package management instead; on Vim 8+ the native system works similarly, and pathogen can backport a subset of it to older Vims.
Does it work on Windows as well?Yes, with one tweak: everywhere the instructions say ~/.vim you use ~\vimfiles instead — for both the autoload script and your bundle directory.
Is it released under a standard open-source license?Not one of the usual ones — it is distributed under the same terms as Vim itself, so use is free but the license is Vim's own.
Once pathogen is installed, how do I actually add plugins?Extract or git clone each plugin into its own subdirectory under ~/.vim/bundle — pathogen adds every directory there to your 'runtimepath', so plugins load automatically.
Do I have to run :helptags manually for each plugin's documentation?No — pathogen ships a :Helptags command that builds help tags for every directory on your 'runtimepath' at once, and you can even call it from your vimrc.
Can I keep my plugins somewhere other than ~/.vim/bundle?Yes — pass pathogen#infect() a relative glob like 'stuff/{}' or even absolute paths; the {} marks where the directory name gets expanded.
Why do my plugins vanish when I restore a Vim session?Vim sessions save all global options, including the 'runtimepath' that pathogen manipulates — add 'set sessionoptions-=options' to your vimrc to prevent it.
What are similar projects?vim-plug, vimrc, vim-fugitive, Vundle.vim, lazy.nvim, tpm, vim, vis
Creator
tpope
Size
0.1 MB
Stars
12.1K
Updated
CommitAug 24
Age
16y
Commits · 90 Days