vivo.vim


Ⅰ. 插件描述

This is my answer for vim plugin manager (!!!THIS IS DEVELOPMENT VERSION!!!)

Ⅱ. 基本信息

创建日期:  2016-01-02
使用用户:  1
Github星:  5
插件作者:  Fujiwara Takuya

Ⅲ. 安装方法

使用Vundle管理器安装

在你的.vimrc下添加:
Plugin 'tyru/vivo-vim'
… 然后在Vim中运行以下命令:
:source %
:PluginInstall

对于Vundle版本 < 0.10.2,请用上面的Bundle替换Plugin。

使用NeoBundle管理器安装

在你的.vimrc下添加:
NeoBundle 'tyru/vivo-vim'
… 然后在Vim中运行以下命令:
:source %
:NeoBundleInstall

使用VimPlug管理器安装

在你的.vimrc下添加:
Plug 'tyru/vivo-vim'
… 然后在Vim中运行以下命令:
:source %
:PlugInstall

使用Pathogen管理器安装

在终端中运行以下命令:
cd ~/.vim/bundle
git clone https://github.com/tyru/vivo.vim

Ⅳ. 文档说明

WARNING: This plugin is deprecated. Please use the followings instead.

Build Status


What's this?

An yet yet yet another vim plugin manager.<br/>
This plugin is designed for the following policies.

  1. Version locking is MUST.

    • Managed plugins are listed in ~/.vim/Vivo.lock.
    • For completely restoring your current environment at another PC,
      you can manage the file by version control systems(aka Git, Mercurial, ...).

    And just typing :VivoFetchAll /path/to/Vivo.lock or :call vivo#fetch_all('/path/to/Vivo.lock'), everything is done like bundle install.

  2. Of cource, Multi-platform is also MUST.

    • It works with: Windows, Linux
    • Maybe it works, but please tell me if it works: Mac OS X
  3. Install/Uninstall a plugin from command-line. Here are the examples.
    (See Features for details)

    • :VivoInstall tyru/open-browser.vim
    • :VivoInstall https://github.com/tyru/open-browser.vim
    • :VivoPurge open-browser.vim
    • :VivoRemove open-browser.vim
  4. I don't want to write plugins' names in .vimrc by hand!

    • Okay, leave all stuffs about plugin management to vivo.
      You don't need to concern about them.
    • It shouldn't be there(.vimrc)!!!
  5. I don't want to write plugins' configurations in .vimrc, too!

    • It is painful to remove the configurations by hand after you uninstall a plugin...
    • By default, a configuration file per a plugin is ~/.vim/plugconf/<plugin name>.vim.
    • It also shouldn't be there! isn't it?
  6. Thin wrapper plugin for external command (TODO)

    • If a vim plugin gets bigger, the code should be split into external command.
    • Because calling external command doesn't have severe impact on your vim memory usage.
    • It also keeps your vim rapid because it can avoid the problems like memory leak, memory thrashing.
    • Of cource, if the code is real-time processing, it should not be split.
  7. Stable, and Well-tested (TODO)

    • Plugin manager should be tested deeply and stable.
  8. Keep It Simple, Stupid

    • Vivo doesn't slow down your vim startup, and not support any features not in this policies.

How it works

:VivoList
No plugins are installed.

:VivoInstall tyru/caw.vim
vivo: Fetching a plugin from 'https://github.com/tyru/caw.vim'... Done.
vivo: Installed a plugin 'caw.vim'.

:VivoInstall tyru/open-browser.vim
vivo: Fetching a plugin from 'https://github.com/tyru/open-browser.vim'... Done.
vivo: Installed a plugin 'open-browser.vim'.

:VivoList
caw.vim
  Directory: /home/tyru/.vim/bundle/caw.vim
  Type: git
  URL: https://github.com/tyru/caw.vim
  Version: 6591ed28caef2d3175298818c5f38ce9ec692416
open-browser.vim
  Directory: /home/tyru/.vim/bundle/open-browser.vim
  Type: git
  URL: https://github.com/tyru/open-browser.vim
  Version: 61169d9c614cfead929be33b279e4e644d2c7c55

Listed managed plugins.

:VivoRemove open-browser.vim
vivo: Uninstalling the plugin 'open-browser.vim'... Done.

:VivoList
caw.vim
  Directory: /home/tyru/.vim/bundle/caw.vim
  Type: git
  URL: https://github.com/tyru/caw.vim
  Version: 6591ed28caef2d3175298818c5f38ce9ec692416
open-browser.vim (not fetched)
  Directory: /home/tyru/.vim/bundle/open-browser.vim
  Type: git
  URL: https://github.com/tyru/open-browser.vim
  Version: 61169d9c614cfead929be33b279e4e644d2c7c55

Listed managed plugins.

:VivoPurge caw.vim
vivo: Unrecording the plugin info of 'caw.vim'... Done.
vivo: Uninstalling the plugin 'caw.vim'... Done.

:VivoList
open-browser.vim (not fetched)
  Directory: /home/tyru/.vim/bundle/open-browser.vim
  Type: git
  URL: https://github.com/tyru/open-browser.vim
  Version: 61169d9c614cfead929be33b279e4e644d2c7c55

Listed managed plugins.

:VivoFetchAll
vivo: Fetching a plugin from 'https://github.com/tyru/open-browser.vim'... Done.
vivo: Installed a plugin 'open-browser.vim'.
vivo: VivoFetchAll: All plugins are installed!

:VivoList
open-browser.vim
  Directory: /home/tyru/.vim/bundle/open-browser.vim
  Type: git
  URL: https://github.com/tyru/open-browser.vim
  Version: 61169d9c614cfead929be33b279e4e644d2c7c55

Listed managed plugins.

Features

:VivoInstall

  • From GitHub repository: :VivoInstall tyru/open-browser.vim
  • From Git repository URL(http,https,git): :VivoInstall https://github.com/tyru/open-browser.vim

:VivoPurge

  • :VivoPurge open-browser.vim removes both a plugin directory and a plugin info.

:VivoRemove

  • :VivoRemove open-browser.vim removes only a plugin directory.
  • After this command is executed, :VivoFetchAll can fetch a plugin directory again.

:VivoList

  • Lists managed plugins including which have been not fetched (See How it works).

:VivoFetchAll

  • Install all plugins recorded in ~/.vim/Vivo.lock.
  • Also locks the versions to recorded commit.
    (for example, in git repository, it executes git checkout {hash})

Installation

You must install this plugin by hand at first :)

You have 'git' command

  1. git clone https://github.com/tyru/vivo.vim ~/.vim/bundle/vivo.vim
  2. Add ~/.vim/bundle/vivo.vim to runtimepath (See Configuration).

You don't have 'git' command

  1. Download ZIP archive from https://github.com/tyru/vivo.vim/archive/master.zip.
  2. Create ~/.vim/bundle/vivo.vim/ directory.
  3. Extract archive into ~/.vim/bundle/vivo.vim/.

Here is the directory structure after step 3.

$ tree ~/.vim/bundle/vivo.vim/
/home/tyru/.vim/bundle/vivo.vim/
├── README.md
├── autoload
│   └── vivo.vim
├── doc
└── plugin
    └── vivo.vim

Configuration

if has('vim_starting')
  set rtp+=~/.vim/bundle/vivo.vim
  " If you want to fetch vivo.vim automatically...
  " if !isdirectory(expand('~/.vim/bundle/vivo.vim'))
  "   call system('mkdir -p ~/.vim/bundle/')
  "   call system('git clone https://github.com/tyru/vivo.vim.git ~/.vim/bundle/vivo.vim')
  " end
endif

" Fetch managed plugins from remote.
call vivo#fetch_all()

" Add managed plugins to 'runtimepath'.
" (It won't add disabled plugins)
filetype off
call vivo#rtp_append_plugins()
filetype plugin indent on

" Load all plugin configs from '~/.vim/vivo/plugconf/*.vim'
" (if you prefer writing configs in separated files from vimrc).
call vivo#plugconf#load()

" Generate helptags for plugins in 'runtimepath'.
call vivo#helptags()

Supported protocols

  • Git

添加新评论