{"id":13661550,"url":"https://github.com/airblade/voom","last_synced_at":"2025-04-30T22:23:35.768Z","repository":{"id":14060970,"uuid":"16764051","full_name":"airblade/voom","owner":"airblade","description":"A simplest-thing-that-works Vim plugin manager.  Use with Vim 8 or Pathogen.","archived":false,"fork":false,"pushed_at":"2024-12-04T09:34:57.000Z","size":52,"stargazers_count":29,"open_issues_count":3,"forks_count":9,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-30T20:33:35.872Z","etag":null,"topics":["plugin-manager","vim"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/airblade.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-02-12T10:44:40.000Z","updated_at":"2024-12-04T09:35:01.000Z","dependencies_parsed_at":"2025-03-09T15:41:48.076Z","dependency_job_id":null,"html_url":"https://github.com/airblade/voom","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/airblade%2Fvoom","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/airblade%2Fvoom/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/airblade%2Fvoom/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/airblade%2Fvoom/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/airblade","download_url":"https://codeload.github.com/airblade/voom/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251790367,"owners_count":21644210,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["plugin-manager","vim"],"created_at":"2024-08-02T05:01:36.892Z","updated_at":"2025-04-30T22:23:35.751Z","avatar_url":"https://github.com/airblade.png","language":"Shell","readme":"# voom: a simple Vim plugin manager\n\nvoom is a simplest-thing-that-works tool to manage your Vim plugins.  It installs plugins, updates them, and uninstalls them.\n\nIt assumes:\n\n- The plugins you use are on GitHub, cloneable with an http/https URL, or in-progress on disk.\n- You use Vim 8 packages (or [Pathogen][] to manage Vim's runtime path).\n\nvoom is an alternative to [vim-plug][], [Vundle][], [NeoBundle][], [vam][], [Vizadry][], etc.\n\nFeatures:\n\n* Fast: plugins are installed in parallel.\n* Lightweight (100 lines of POSIX shell).\n* No git submodules :)\n\n\n## Installation\n\nVoom works with both Vim and NeoVim.\n\nVim users: just follow the instructions below.\n\nNeoVim users: follow the instructions below but:\n\n- replace `~/.vim` with `~/.config/nvim`\n- replace `~/.vimrc` with `~/.config/nvim/init.vim`\n\nIf you use Pathogen instead of Vim packages, follow the instructions below but:\n\n- replace `pack/voom/start/` with `bundle/`\n\n\n#### Create the installation directory\n\nCreate a `~/.vim/pack/voom/start` (Vim) or `~/.config/nvim/pack/voom/start` (NeoVim) directory and git-ignore everything in `pack/voom/`.\n\n```sh\n$ cd ~/.vim \u0026\u0026 mkdir -p pack/voom/start \u0026\u0026 echo 'pack/voom/' \u003e\u003e .gitignore\n$ cd ~/.config/nvim \u0026\u0026 mkdir -p pack/voom/start \u0026\u0026 echo 'pack/voom/' \u003e\u003e .gitignore\n```\n\n\n#### Install the `(n)voom` scripts somewhere on your PATH\n\nFor example, if `~/bin` is on your path:\n\n```sh\n$ curl -LSso ~/bin/voom https://raw.githubusercontent.com/airblade/voom/master/voom\n$ curl -LSso ~/bin/nvoom https://raw.githubusercontent.com/airblade/voom/master/nvoom\n```\n\nPathogen users: tell voom where to save your plugins:\n\n```sh\n$ alias voom='VIM_PLUGINS_DIR=~/.vim/bundle voom'\n```\n\n\n#### Declare your plugins in `plugins` and add the file to your repo\n\n```sh\n$ echo 'airblade/voom' \u003e ~/.vim/plugins    # optional\n$ voom edit                                # opens your editor so you can declare your plugins\n$ git add ~/.vim/plugins\n```\n\nYou don't need `airblade/voom` in your manifest – the `voom` script does all the work – but it makes editing the manifest a little nicer.\n\n\n## Usage\n\nDeclare your plugins in `plugins`, a plain-text manifest in your vim repo.  Open your manifest with:\n\n```sh\n$ voom edit\n```\n\nHere's an example of a manifest:\n\n```\n# Comments start with a hash character.\n# Note the plugin declarations are case-sensitive.\n\n# Declare repos on GitHub with: username/repo.\ntpope/vim-fugitive\n\n# Declare repos on Gitlab or others with full URL:\nhttps://github.com/tpope/vim-obsession\nhttps://gitlab.com/hugoh/vim-auto-obsession\n\n# Declare repos on your file system with the absolute path.\n/Users/andy/code/src/vim-gitgutter\n# Or with a tilde path.\n~/code/src/vim-rooter\n```\n\nRun `voom` without arguments to install and uninstall plugins as necessary to match your manifest.\n\nTo update your online plugins:\n\n```sh\n$ voom update\n```\n\nIf you just want to update one plugin:\n\n```sh\n$ voom update vim-fugitive\n```\n\nIf you want to update plugins with minimal output:\n\n```sh\n$ voom update -q\n```\n\nRestart Vim to pick up changes to your plugins.\n\n\n\n## How does it work?\n\nWhen `voom` installs a plugin:\n\n- online: `voom` clones it [1] into `~/.vim/pack/voom/start/`.\n- local: `voom` symlinks it into `~/.vim/pack/voom/start/`.\n\nWhen `voom` uninstalls a plugin:\n\n- online: `voom` removes the directory from `~/.vim/pack/voom/start/`.\n- local: `voom` removes the symlink from `~/.vim/pack/voom/start/`.\n\n[1] `voom` performs a shallow clone of depth 1.  If you subsequently want a repo's full history, do `git pull --unshallow`.\n\n\n## Why is voom written in bash not Vim script?\n\nInstalling, updating, and uninstalling plugins simply involves making directory trees available at the appropriate locations on the file system.  It's basic command-line stuff involving things like `git`, `ln`, `rm`.  A shell script is the natural solution.\n\nAll a Vim script wrapper would do is call those same shell commands – but with all the problems that come with shelling out from Vim.\n\nIn this case the simplest thing that works is a shell script.\n\n\n  [pathogen]: https://github.com/tpope/vim-pathogen\n  [vim-plug]:https://github.com/junegunn/vim-plug\n  [vundle]: https://github.com/gmarik/vundle.vim\n  [NeoBundle]: https://github.com/Shougo/neobundle.vim\n  [vam]: https://github.com/MarcWeber/vim-addon-manager\n  [vizadry]: https://github.com/ardagnir/vizardry\n  [neovim]: https://neovim.io/doc/user/nvim_from_vim.html\n\n\n## Intellectual Property\n\nCopyright Andrew Stewart.  Released under the MIT licence.\n\n","funding_links":[],"categories":["Shell"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fairblade%2Fvoom","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fairblade%2Fvoom","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fairblade%2Fvoom/lists"}