pathogenjs v0.1.1
Pathogenjs
A CLI tool for installing, updating, and removing Vim plugins easily by augmenting Pathogen.
Motivation
Pathogen is already a great tool for installing Vim plugins super easily. In a way, it allows to manage your plugins by just installing or removing a directory in a given path, by default ~/.vim/bundle/, and that is fine most of the time; however, Pathogen does not keep track of the plugins installed or removed, and that makes it difficult to migrate your list of plugins into another machine. Moreover, updating them can also be a nightmare as you would have to go by hand or use some weird script that iterates over the files in the bundle directory. Pathogenjs aims to solve those issues.
Installation
$ npm install -g pathogenjsDependencies
Pathogenjs works by augmenting Pathogen's out of the box functionality, so assuming you have nodejs and npm already installed, along with Pathogen installed and configured, you're set.
List plugins
List the plugins currently installed, enabled and disabled, according to your .pathogenjs.json file.
$ pathogenjs listUse with --enabled or --disabled flags to print only the specified group.
Installing plugins
Pathogenjs works by git-cloning a Github repository that holds a Vim plugin and installing it under the Pathogen's bundle directory (it currently supports the default ~/.vim/bundle/ directory, only). To install a plugin you need to specify the repository's user along with the name of the repository.
$ pathogenjs install [repo-user]/[repo-name]Example:
$ pathogenjs install tpope/vim-fugitiveAdd the --save flag to save the installed plugin into your .pathogenjs.json file.
If you already have a .pathogenjs.json file set with a list of plugins you can use:
$ pathogenjs installThis will iterate over the list of plugins and install them in the Pathogen's bundle directory.
Removing plugins
Pathogenjs removes a plugin by removing the plugin's directory from the Pathogen's bundle directory. In contrast with the installing command, you remove a plugin by specifying only its name (the name of the repository or the name of the directory where it was cloned).
$ pathogenjs remove [repo-name]Example:
$ pathogenjs remove vim-fugitiveUpdating plugins
In order to update a plugin Pathogenjs git-pulls from the master branch within a plugin's directory.
$ pathogenjs update [repo-name]Example:
$ pathogenjs update vim-fugitiveIf no plugin is specified and the --all flag is set, Pathogenjs will iterate over the plugins at .pathogenjs.json updating each of them if any updates are available.
$ pathogenjs update --allBuilding
If you already have Pathogen, you probably have the Pathogen's bundle directory with a bunch of plugins installed. Building allows to update the .pathogenjs.json with the plugins you have currently installed.
$ pathogenjs buildThis only supports plugins using git.
Disabling plugins
There are times when you want to disable a plugin to maybe test another one that has some default key mappings that overlap, or perhaps both have a similar purpose and you don't want to erase any of them. For those kind of situations Pathogenjs provides a mechanism to disable plugins by putting them in a special .disabled directory, which is created by Pathogenjs as a mechanism to hide currently unwanted plugins. Pathogenjs keeps track of enabled and disabled plugins in .pathogenjs.json.
$ pathogenjs disable [plugins...]Example:
$ pathogenjs disable vim-fugitive vim-sensibleYou can always list disabled plugins by using pathogenjs list --disabled.
Enabling plugins
By default plugins are enabled when installed. Enabling a plugin just means moving the plugin from the .disabled directory to your Pathogen's bundle directory.
$ pathogenjs enable [plugins...]Example:
$ pathogenjs enable vim-fugitive vim-sensibleYou can always list enabled plugins by using pathogenjs list --enabled.
Test
$ npm testHelp
For more information read:
$ pathogenjs --helpLicense
MIT