microbe relies on pathogen and cURL to provide a simple management tool especially for Github-hosted Vim plugins.
Requires bash
, curl
and unzip
. If Git-support is desired, Git is required.
NOTE: If you are looking for a command line tool that is able to handle more than just Github-hosted Plugins, you might want to have a look at vim-pandemic. It is, due to its capabilities, obviously a little more verbose than microbe (oh, how the names fit!) but looks rather usable. Not a command line tool but very powerful in the same domain is neobundle.
microbe is all about minimalism. It is a single standalone script (built using
bashing) relying only on tools available out-of-the-box on most UNIX systems:
bash
, curl
, unzip
, column
, ... Only if Git resources shall be accessed is additional work necessary.
The command line interface resembles that of apt-get
, hopefully making usage intuitive and concise.
Current stable Version: 0.2.5
User Installation
mkdir ~/.bin
curl -fkLo ~/.bin/microbe "https://raw.github.com/xsc/microbe-vim/stable/bin/microbe"
chmod +x ~/.bin/microbe
Make sure to add ~/.bin
to your $PATH
, e.g. using export PATH="$PATH:~/.bin"
in your
~/.bashrc
.
System-wide Installation
sudo curl -fkLo "/usr/bin/microbe" "https://raw.github.com/xsc/microbe-vim/stable/bin/microbe"
sudo chmod +x /usr/bin/microbe
microbe <command> [<parameters>]
Commands
update-pathogen
: update pathogen to the most recent versioninstall [<GitHub User>/]<plugin>
: clone the given plugin and add its contents to pathogen's include pathremove [<GitHub User>/]<plugin>
: remove the given plugin from pathogen's include pathpurge [<GitHub User>/]<plugin>
: remove the given plugin from the machineupdate [[<GitHub User>/]<plugin>]
: update all plugins or the given onelist
: list all repositories maintained by microbe and whether they are used by the current user
Multiple plugins can be given as parameters. If no GitHub user is found, vim-scripts
will be used.
Also, for a given <plugin>
both repositories <user>/<plugin>
and <user>/<plugin>.vim
will be checked.
Alternatively, the location of a Git repository can be given instead of a user/repository pair. Obviously, this requires Git.
Installing from vim-scripts
or specific GitHub User
$ microbe install paredit jrk/vim-ocaml
Installing vim-scripts/paredit.vim ...
- Getting ZIP from https://github.com/vim-scripts/paredit.vim/archive/master.zip ... OK.
- Extracting Archive to /home/yannick/.microbe/vim-scripts/paredit.vim ... OK.
- Activating Plugin: vim-scripts/paredit.vim ... OK.
Installing jrk/vim-ocaml ...
- Getting ZIP from https://github.com/jrk/vim-ocaml/archive/master.zip ... OK.
- Extracting Archive to /home/yannick/.microbe/jrk/vim-ocaml ... OK.
- Activating Plugin: jrk/vim-ocaml ... OK.
Installing from Git Repository
$ microbe install https://github.com/jrk/vim-ocaml
Installing external-git/vim-ocaml ...
- Cloning from https://github.com/jrk/vim-ocaml ...
Cloning into '/home/yannick/.microbe/external-git/vim-ocaml'...
remote: Counting objects: 12, done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 12 (delta 1), reused 12 (delta 1)
Unpacking objects: 100% (12/12), done.
- Activating Plugin: external-git/vim-ocaml ... OK.
Updating Plugins
$ microbe update
Updating external-git/vim-ocaml ...
Already up-to-date.
Updating jrk/vim-ocaml ... OK.
Updating vim-scripts/paredit.vim ... OK.
Note that since microbe uses the ZIP archives of GitHub hosted repositories, a new version will always be downloaded, even if no changes occured.
Listing Plugins
$ microbe list
external-git/vim-ocaml (installed) 312KB /home/yannick/.microbe/external-git/vim-ocaml
jrk/vim-ocaml (installed) 72KB /home/yannick/.microbe/jrk/vim-ocaml
vim-scripts/paredit.vim (installed) 108KB /home/yannick/.microbe/vim-scripts/paredit.vim
Note the size difference between external-git/vim-ocaml
(Git clone) and jrk/vim-ocaml
.
Hitting the Cache
$ microbe install paredit
Installing vim-scripts/paredit.vim ...
- Using Cached Plugin.
- Activating Plugin: vim-scripts/paredit.vim ... OK.
Removing a Plugin from Pathogen
$ microbe remove paredit
Removing vim-scripts/paredit.vim ... OK.
$ microbe list
external-git/vim-ocaml (installed) 312KB /home/yannick/.microbe/external-git/vim-ocaml
jrk/vim-ocaml (installed) 72KB /home/yannick/.microbe/jrk/vim-ocaml
vim-scripts/paredit.vim (not installed) 108KB /home/yannick/.microbe/vim-scripts/paredit.vim
Removing a Plugin from Disk
$ microbe purge external-git/vim-ocaml
Removing external-git/vim-ocaml ... OK.
Purging external-git/vim-ocaml ... OK.
$ microbe list
jrk/vim-ocaml (installed) 72KB /home/yannick/.microbe/jrk/vim-ocaml
vim-scripts/paredit.vim (not installed) 108KB /home/yannick/.microbe/vim-scripts/paredit.vim
You can use microbe to write the installed plugins to a file:
$ microbe export > microbe.plugins
$ cat microbe.plugins
"bundle jrk/vim-ocaml
"bundle paredit
The format of the plugin list is suitable for use in .vimrc
, since "
indicates a comment
and will thus not influence your actual configuration (this is very similar to infect's
approach to plugin management.
You can load packages using:
microbe load [<file>]
where <file>
defaults to your .vimrc
.
Copyright © 2013-2015 Yannick Scherer
Distributed under the MIT license.