diff --git a/.vim/autoload/plug.vim b/.vim/autoload/plug.vim
new file mode 100644
index 0000000000000000000000000000000000000000..02fac8dc43b9414911d36dc4550fb86244470778
--- /dev/null
+++ b/.vim/autoload/plug.vim
@@ -0,0 +1,2541 @@
+" vim-plug: Vim plugin manager
+" ============================
+"
+" Download plug.vim and put it in ~/.vim/autoload
+"
+"   curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
+"     https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
+"
+" Edit your .vimrc
+"
+"   call plug#begin('~/.vim/plugged')
+"
+"   " Make sure you use single quotes
+"
+"   " Shorthand notation; fetches https://github.com/junegunn/vim-easy-align
+"   Plug 'junegunn/vim-easy-align'
+"
+"   " Any valid git URL is allowed
+"   Plug 'https://github.com/junegunn/vim-github-dashboard.git'
+"
+"   " Multiple Plug commands can be written in a single line using | separators
+"   Plug 'SirVer/ultisnips' | Plug 'honza/vim-snippets'
+"
+"   " On-demand loading
+"   Plug 'scrooloose/nerdtree', { 'on':  'NERDTreeToggle' }
+"   Plug 'tpope/vim-fireplace', { 'for': 'clojure' }
+"
+"   " Using a non-master branch
+"   Plug 'rdnetto/YCM-Generator', { 'branch': 'stable' }
+"
+"   " Using a tagged release; wildcard allowed (requires git 1.9.2 or above)
+"   Plug 'fatih/vim-go', { 'tag': '*' }
+"
+"   " Plugin options
+"   Plug 'nsf/gocode', { 'tag': 'v.20150303', 'rtp': 'vim' }
+"
+"   " Plugin outside ~/.vim/plugged with post-update hook
+"   Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
+"
+"   " Unmanaged plugin (manually installed and updated)
+"   Plug '~/my-prototype-plugin'
+"
+"   " Initialize plugin system
+"   call plug#end()
+"
+" Then reload .vimrc and :PlugInstall to install plugins.
+"
+" Plug options:
+"
+"| Option                  | Description                                      |
+"| ----------------------- | ------------------------------------------------ |
+"| `branch`/`tag`/`commit` | Branch/tag/commit of the repository to use       |
+"| `rtp`                   | Subdirectory that contains Vim plugin            |
+"| `dir`                   | Custom directory for the plugin                  |
+"| `as`                    | Use different name for the plugin                |
+"| `do`                    | Post-update hook (string or funcref)             |
+"| `on`                    | On-demand loading: Commands or `<Plug>`-mappings |
+"| `for`                   | On-demand loading: File types                    |
+"| `frozen`                | Do not update unless explicitly specified        |
+"
+" More information: https://github.com/junegunn/vim-plug
+"
+"
+" Copyright (c) 2017 Junegunn Choi
+"
+" MIT License
+"
+" Permission is hereby granted, free of charge, to any person obtaining
+" a copy of this software and associated documentation files (the
+" "Software"), to deal in the Software without restriction, including
+" without limitation the rights to use, copy, modify, merge, publish,
+" distribute, sublicense, and/or sell copies of the Software, and to
+" permit persons to whom the Software is furnished to do so, subject to
+" the following conditions:
+"
+" The above copyright notice and this permission notice shall be
+" included in all copies or substantial portions of the Software.
+"
+" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+" EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+" NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+" LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+" OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+" WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+if exists('g:loaded_plug')
+  finish
+endif
+let g:loaded_plug = 1
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+let s:plug_src = 'https://github.com/junegunn/vim-plug.git'
+let s:plug_tab = get(s:, 'plug_tab', -1)
+let s:plug_buf = get(s:, 'plug_buf', -1)
+let s:mac_gui = has('gui_macvim') && has('gui_running')
+let s:is_win = has('win32')
+let s:nvim = has('nvim-0.2') || (has('nvim') && exists('*jobwait') && !s:is_win)
+let s:vim8 = has('patch-8.0.0039') && exists('*job_start')
+let s:me = resolve(expand('<sfile>:p'))
+let s:base_spec = { 'branch': 'master', 'frozen': 0 }
+let s:TYPE = {
+\   'string':  type(''),
+\   'list':    type([]),
+\   'dict':    type({}),
+\   'funcref': type(function('call'))
+\ }
+let s:loaded = get(s:, 'loaded', {})
+let s:triggers = get(s:, 'triggers', {})
+
+function! plug#begin(...)
+  if a:0 > 0
+    let s:plug_home_org = a:1
+    let home = s:path(fnamemodify(expand(a:1), ':p'))
+  elseif exists('g:plug_home')
+    let home = s:path(g:plug_home)
+  elseif !empty(&rtp)
+    let home = s:path(split(&rtp, ',')[0]) . '/plugged'
+  else
+    return s:err('Unable to determine plug home. Try calling plug#begin() with a path argument.')
+  endif
+  if fnamemodify(home, ':t') ==# 'plugin' && fnamemodify(home, ':h') ==# s:first_rtp
+    return s:err('Invalid plug home. '.home.' is a standard Vim runtime path and is not allowed.')
+  endif
+
+  let g:plug_home = home
+  let g:plugs = {}
+  let g:plugs_order = []
+  let s:triggers = {}
+
+  call s:define_commands()
+  return 1
+endfunction
+
+function! s:define_commands()
+  command! -nargs=+ -bar Plug call plug#(<args>)
+  if !executable('git')
+    return s:err('`git` executable not found. Most commands will not be available. To suppress this message, prepend `silent!` to `call plug#begin(...)`.')
+  endif
+  command! -nargs=* -bar -bang -complete=customlist,s:names PlugInstall call s:install(<bang>0, [<f-args>])
+  command! -nargs=* -bar -bang -complete=customlist,s:names PlugUpdate  call s:update(<bang>0, [<f-args>])
+  command! -nargs=0 -bar -bang PlugClean call s:clean(<bang>0)
+  command! -nargs=0 -bar PlugUpgrade if s:upgrade() | execute 'source' s:esc(s:me) | endif
+  command! -nargs=0 -bar PlugStatus  call s:status()
+  command! -nargs=0 -bar PlugDiff    call s:diff()
+  command! -nargs=? -bar -bang -complete=file PlugSnapshot call s:snapshot(<bang>0, <f-args>)
+endfunction
+
+function! s:to_a(v)
+  return type(a:v) == s:TYPE.list ? a:v : [a:v]
+endfunction
+
+function! s:to_s(v)
+  return type(a:v) == s:TYPE.string ? a:v : join(a:v, "\n") . "\n"
+endfunction
+
+function! s:glob(from, pattern)
+  return s:lines(globpath(a:from, a:pattern))
+endfunction
+
+function! s:source(from, ...)
+  let found = 0
+  for pattern in a:000
+    for vim in s:glob(a:from, pattern)
+      execute 'source' s:esc(vim)
+      let found = 1
+    endfor
+  endfor
+  return found
+endfunction
+
+function! s:assoc(dict, key, val)
+  let a:dict[a:key] = add(get(a:dict, a:key, []), a:val)
+endfunction
+
+function! s:ask(message, ...)
+  call inputsave()
+  echohl WarningMsg
+  let answer = input(a:message.(a:0 ? ' (y/N/a) ' : ' (y/N) '))
+  echohl None
+  call inputrestore()
+  echo "\r"
+  return (a:0 && answer =~? '^a') ? 2 : (answer =~? '^y') ? 1 : 0
+endfunction
+
+function! s:ask_no_interrupt(...)
+  try
+    return call('s:ask', a:000)
+  catch
+    return 0
+  endtry
+endfunction
+
+function! s:lazy(plug, opt)
+  return has_key(a:plug, a:opt) &&
+        \ (empty(s:to_a(a:plug[a:opt]))         ||
+        \  !isdirectory(a:plug.dir)             ||
+        \  len(s:glob(s:rtp(a:plug), 'plugin')) ||
+        \  len(s:glob(s:rtp(a:plug), 'after/plugin')))
+endfunction
+
+function! plug#end()
+  if !exists('g:plugs')
+    return s:err('Call plug#begin() first')
+  endif
+
+  if exists('#PlugLOD')
+    augroup PlugLOD
+      autocmd!
+    augroup END
+    augroup! PlugLOD
+  endif
+  let lod = { 'ft': {}, 'map': {}, 'cmd': {} }
+
+  if exists('g:did_load_filetypes')
+    filetype off
+  endif
+  for name in g:plugs_order
+    if !has_key(g:plugs, name)
+      continue
+    endif
+    let plug = g:plugs[name]
+    if get(s:loaded, name, 0) || !s:lazy(plug, 'on') && !s:lazy(plug, 'for')
+      let s:loaded[name] = 1
+      continue
+    endif
+
+    if has_key(plug, 'on')
+      let s:triggers[name] = { 'map': [], 'cmd': [] }
+      for cmd in s:to_a(plug.on)
+        if cmd =~? '^<Plug>.\+'
+          if empty(mapcheck(cmd)) && empty(mapcheck(cmd, 'i'))
+            call s:assoc(lod.map, cmd, name)
+          endif
+          call add(s:triggers[name].map, cmd)
+        elseif cmd =~# '^[A-Z]'
+          let cmd = substitute(cmd, '!*$', '', '')
+          if exists(':'.cmd) != 2
+            call s:assoc(lod.cmd, cmd, name)
+          endif
+          call add(s:triggers[name].cmd, cmd)
+        else
+          call s:err('Invalid `on` option: '.cmd.
+          \ '. Should start with an uppercase letter or `<Plug>`.')
+        endif
+      endfor
+    endif
+
+    if has_key(plug, 'for')
+      let types = s:to_a(plug.for)
+      if !empty(types)
+        augroup filetypedetect
+        call s:source(s:rtp(plug), 'ftdetect/**/*.vim', 'after/ftdetect/**/*.vim')
+        augroup END
+      endif
+      for type in types
+        call s:assoc(lod.ft, type, name)
+      endfor
+    endif
+  endfor
+
+  for [cmd, names] in items(lod.cmd)
+    execute printf(
+    \ 'command! -nargs=* -range -bang -complete=file %s call s:lod_cmd(%s, "<bang>", <line1>, <line2>, <q-args>, %s)',
+    \ cmd, string(cmd), string(names))
+  endfor
+
+  for [map, names] in items(lod.map)
+    for [mode, map_prefix, key_prefix] in
+          \ [['i', '<C-O>', ''], ['n', '', ''], ['v', '', 'gv'], ['o', '', '']]
+      execute printf(
+      \ '%snoremap <silent> %s %s:<C-U>call <SID>lod_map(%s, %s, %s, "%s")<CR>',
+      \ mode, map, map_prefix, string(map), string(names), mode != 'i', key_prefix)
+    endfor
+  endfor
+
+  for [ft, names] in items(lod.ft)
+    augroup PlugLOD
+      execute printf('autocmd FileType %s call <SID>lod_ft(%s, %s)',
+            \ ft, string(ft), string(names))
+    augroup END
+  endfor
+
+  call s:reorg_rtp()
+  filetype plugin indent on
+  if has('vim_starting')
+    if has('syntax') && !exists('g:syntax_on')
+      syntax enable
+    end
+  else
+    call s:reload_plugins()
+  endif
+endfunction
+
+function! s:loaded_names()
+  return filter(copy(g:plugs_order), 'get(s:loaded, v:val, 0)')
+endfunction
+
+function! s:load_plugin(spec)
+  call s:source(s:rtp(a:spec), 'plugin/**/*.vim', 'after/plugin/**/*.vim')
+endfunction
+
+function! s:reload_plugins()
+  for name in s:loaded_names()
+    call s:load_plugin(g:plugs[name])
+  endfor
+endfunction
+
+function! s:trim(str)
+  return substitute(a:str, '[\/]\+$', '', '')
+endfunction
+
+function! s:version_requirement(val, min)
+  for idx in range(0, len(a:min) - 1)
+    let v = get(a:val, idx, 0)
+    if     v < a:min[idx] | return 0
+    elseif v > a:min[idx] | return 1
+    endif
+  endfor
+  return 1
+endfunction
+
+function! s:git_version_requirement(...)
+  if !exists('s:git_version')
+    let s:git_version = map(split(split(s:system('git --version'))[2], '\.'), 'str2nr(v:val)')
+  endif
+  return s:version_requirement(s:git_version, a:000)
+endfunction
+
+function! s:progress_opt(base)
+  return a:base && !s:is_win &&
+        \ s:git_version_requirement(1, 7, 1) ? '--progress' : ''
+endfunction
+
+function! s:rtp(spec)
+  return s:path(a:spec.dir . get(a:spec, 'rtp', ''))
+endfunction
+
+if s:is_win
+  function! s:path(path)
+    return s:trim(substitute(a:path, '/', '\', 'g'))
+  endfunction
+
+  function! s:dirpath(path)
+    return s:path(a:path) . '\'
+  endfunction
+
+  function! s:is_local_plug(repo)
+    return a:repo =~? '^[a-z]:\|^[%~]'
+  endfunction
+
+  " Copied from fzf
+  function! s:wrap_cmds(cmds)
+    let use_chcp = executable('sed')
+    return map([
+      \ '@echo off',
+      \ 'setlocal enabledelayedexpansion']
+    \ + (use_chcp ? [
+      \ 'for /f "usebackq" %%a in (`chcp ^| sed "s/[^0-9]//gp"`) do set origchcp=%%a',
+      \ 'chcp 65001 > nul'] : [])
+    \ + (type(a:cmds) == type([]) ? a:cmds : [a:cmds])
+    \ + (use_chcp ? ['chcp !origchcp! > nul'] : [])
+    \ + ['endlocal'],
+    \ 'v:val."\r"')
+  endfunction
+
+  function! s:batchfile(cmd)
+    let batchfile = tempname().'.bat'
+    call writefile(s:wrap_cmds(a:cmd), batchfile)
+    let cmd = plug#shellescape(batchfile, {'shell': &shell, 'script': 1})
+    if &shell =~# 'powershell\.exe$'
+      let cmd = '& ' . cmd
+    endif
+    return [batchfile, cmd]
+  endfunction
+else
+  function! s:path(path)
+    return s:trim(a:path)
+  endfunction
+
+  function! s:dirpath(path)
+    return substitute(a:path, '[/\\]*$', '/', '')
+  endfunction
+
+  function! s:is_local_plug(repo)
+    return a:repo[0] =~ '[/$~]'
+  endfunction
+endif
+
+function! s:err(msg)
+  echohl ErrorMsg
+  echom '[vim-plug] '.a:msg
+  echohl None
+endfunction
+
+function! s:warn(cmd, msg)
+  echohl WarningMsg
+  execute a:cmd 'a:msg'
+  echohl None
+endfunction
+
+function! s:esc(path)
+  return escape(a:path, ' ')
+endfunction
+
+function! s:escrtp(path)
+  return escape(a:path, ' ,')
+endfunction
+
+function! s:remove_rtp()
+  for name in s:loaded_names()
+    let rtp = s:rtp(g:plugs[name])
+    execute 'set rtp-='.s:escrtp(rtp)
+    let after = globpath(rtp, 'after')
+    if isdirectory(after)
+      execute 'set rtp-='.s:escrtp(after)
+    endif
+  endfor
+endfunction
+
+function! s:reorg_rtp()
+  if !empty(s:first_rtp)
+    execute 'set rtp-='.s:first_rtp
+    execute 'set rtp-='.s:last_rtp
+  endif
+
+  " &rtp is modified from outside
+  if exists('s:prtp') && s:prtp !=# &rtp
+    call s:remove_rtp()
+    unlet! s:middle
+  endif
+
+  let s:middle = get(s:, 'middle', &rtp)
+  let rtps     = map(s:loaded_names(), 's:rtp(g:plugs[v:val])')
+  let afters   = filter(map(copy(rtps), 'globpath(v:val, "after")'), '!empty(v:val)')
+  let rtp      = join(map(rtps, 'escape(v:val, ",")'), ',')
+                 \ . ','.s:middle.','
+                 \ . join(map(afters, 'escape(v:val, ",")'), ',')
+  let &rtp     = substitute(substitute(rtp, ',,*', ',', 'g'), '^,\|,$', '', 'g')
+  let s:prtp   = &rtp
+
+  if !empty(s:first_rtp)
+    execute 'set rtp^='.s:first_rtp
+    execute 'set rtp+='.s:last_rtp
+  endif
+endfunction
+
+function! s:doautocmd(...)
+  if exists('#'.join(a:000, '#'))
+    execute 'doautocmd' ((v:version > 703 || has('patch442')) ? '<nomodeline>' : '') join(a:000)
+  endif
+endfunction
+
+function! s:dobufread(names)
+  for name in a:names
+    let path = s:rtp(g:plugs[name])
+    for dir in ['ftdetect', 'ftplugin', 'after/ftdetect', 'after/ftplugin']
+      if len(finddir(dir, path))
+        if exists('#BufRead')
+          doautocmd BufRead
+        endif
+        return
+      endif
+    endfor
+  endfor
+endfunction
+
+function! plug#load(...)
+  if a:0 == 0
+    return s:err('Argument missing: plugin name(s) required')
+  endif
+  if !exists('g:plugs')
+    return s:err('plug#begin was not called')
+  endif
+  let names = a:0 == 1 && type(a:1) == s:TYPE.list ? a:1 : a:000
+  let unknowns = filter(copy(names), '!has_key(g:plugs, v:val)')
+  if !empty(unknowns)
+    let s = len(unknowns) > 1 ? 's' : ''
+    return s:err(printf('Unknown plugin%s: %s', s, join(unknowns, ', ')))
+  end
+  let unloaded = filter(copy(names), '!get(s:loaded, v:val, 0)')
+  if !empty(unloaded)
+    for name in unloaded
+      call s:lod([name], ['ftdetect', 'after/ftdetect', 'plugin', 'after/plugin'])
+    endfor
+    call s:dobufread(unloaded)
+    return 1
+  end
+  return 0
+endfunction
+
+function! s:remove_triggers(name)
+  if !has_key(s:triggers, a:name)
+    return
+  endif
+  for cmd in s:triggers[a:name].cmd
+    execute 'silent! delc' cmd
+  endfor
+  for map in s:triggers[a:name].map
+    execute 'silent! unmap' map
+    execute 'silent! iunmap' map
+  endfor
+  call remove(s:triggers, a:name)
+endfunction
+
+function! s:lod(names, types, ...)
+  for name in a:names
+    call s:remove_triggers(name)
+    let s:loaded[name] = 1
+  endfor
+  call s:reorg_rtp()
+
+  for name in a:names
+    let rtp = s:rtp(g:plugs[name])
+    for dir in a:types
+      call s:source(rtp, dir.'/**/*.vim')
+    endfor
+    if a:0
+      if !s:source(rtp, a:1) && !empty(s:glob(rtp, a:2))
+        execute 'runtime' a:1
+      endif
+      call s:source(rtp, a:2)
+    endif
+    call s:doautocmd('User', name)
+  endfor
+endfunction
+
+function! s:lod_ft(pat, names)
+  let syn = 'syntax/'.a:pat.'.vim'
+  call s:lod(a:names, ['plugin', 'after/plugin'], syn, 'after/'.syn)
+  execute 'autocmd! PlugLOD FileType' a:pat
+  call s:doautocmd('filetypeplugin', 'FileType')
+  call s:doautocmd('filetypeindent', 'FileType')
+endfunction
+
+function! s:lod_cmd(cmd, bang, l1, l2, args, names)
+  call s:lod(a:names, ['ftdetect', 'after/ftdetect', 'plugin', 'after/plugin'])
+  call s:dobufread(a:names)
+  execute printf('%s%s%s %s', (a:l1 == a:l2 ? '' : (a:l1.','.a:l2)), a:cmd, a:bang, a:args)
+endfunction
+
+function! s:lod_map(map, names, with_prefix, prefix)
+  call s:lod(a:names, ['ftdetect', 'after/ftdetect', 'plugin', 'after/plugin'])
+  call s:dobufread(a:names)
+  let extra = ''
+  while 1
+    let c = getchar(0)
+    if c == 0
+      break
+    endif
+    let extra .= nr2char(c)
+  endwhile
+
+  if a:with_prefix
+    let prefix = v:count ? v:count : ''
+    let prefix .= '"'.v:register.a:prefix
+    if mode(1) == 'no'
+      if v:operator == 'c'
+        let prefix = "\<esc>" . prefix
+      endif
+      let prefix .= v:operator
+    endif
+    call feedkeys(prefix, 'n')
+  endif
+  call feedkeys(substitute(a:map, '^<Plug>', "\<Plug>", '') . extra)
+endfunction
+
+function! plug#(repo, ...)
+  if a:0 > 1
+    return s:err('Invalid number of arguments (1..2)')
+  endif
+
+  try
+    let repo = s:trim(a:repo)
+    let opts = a:0 == 1 ? s:parse_options(a:1) : s:base_spec
+    let name = get(opts, 'as', fnamemodify(repo, ':t:s?\.git$??'))
+    let spec = extend(s:infer_properties(name, repo), opts)
+    if !has_key(g:plugs, name)
+      call add(g:plugs_order, name)
+    endif
+    let g:plugs[name] = spec
+    let s:loaded[name] = get(s:loaded, name, 0)
+  catch
+    return s:err(v:exception)
+  endtry
+endfunction
+
+function! s:parse_options(arg)
+  let opts = copy(s:base_spec)
+  let type = type(a:arg)
+  if type == s:TYPE.string
+    let opts.tag = a:arg
+  elseif type == s:TYPE.dict
+    call extend(opts, a:arg)
+    if has_key(opts, 'dir')
+      let opts.dir = s:dirpath(expand(opts.dir))
+    endif
+  else
+    throw 'Invalid argument type (expected: string or dictionary)'
+  endif
+  return opts
+endfunction
+
+function! s:infer_properties(name, repo)
+  let repo = a:repo
+  if s:is_local_plug(repo)
+    return { 'dir': s:dirpath(expand(repo)) }
+  else
+    if repo =~ ':'
+      let uri = repo
+    else
+      if repo !~ '/'
+        throw printf('Invalid argument: %s (implicit `vim-scripts'' expansion is deprecated)', repo)
+      endif
+      let fmt = get(g:, 'plug_url_format', 'https://git::@github.com/%s.git')
+      let uri = printf(fmt, repo)
+    endif
+    return { 'dir': s:dirpath(g:plug_home.'/'.a:name), 'uri': uri }
+  endif
+endfunction
+
+function! s:install(force, names)
+  call s:update_impl(0, a:force, a:names)
+endfunction
+
+function! s:update(force, names)
+  call s:update_impl(1, a:force, a:names)
+endfunction
+
+function! plug#helptags()
+  if !exists('g:plugs')
+    return s:err('plug#begin was not called')
+  endif
+  for spec in values(g:plugs)
+    let docd = join([s:rtp(spec), 'doc'], '/')
+    if isdirectory(docd)
+      silent! execute 'helptags' s:esc(docd)
+    endif
+  endfor
+  return 1
+endfunction
+
+function! s:syntax()
+  syntax clear
+  syntax region plug1 start=/\%1l/ end=/\%2l/ contains=plugNumber
+  syntax region plug2 start=/\%2l/ end=/\%3l/ contains=plugBracket,plugX
+  syn match plugNumber /[0-9]\+[0-9.]*/ contained
+  syn match plugBracket /[[\]]/ contained
+  syn match plugX /x/ contained
+  syn match plugDash /^-/
+  syn match plugPlus /^+/
+  syn match plugStar /^*/
+  syn match plugMessage /\(^- \)\@<=.*/
+  syn match plugName /\(^- \)\@<=[^ ]*:/
+  syn match plugSha /\%(: \)\@<=[0-9a-f]\{4,}$/
+  syn match plugTag /(tag: [^)]\+)/
+  syn match plugInstall /\(^+ \)\@<=[^:]*/
+  syn match plugUpdate /\(^* \)\@<=[^:]*/
+  syn match plugCommit /^  \X*[0-9a-f]\{7,9} .*/ contains=plugRelDate,plugEdge,plugTag
+  syn match plugEdge /^  \X\+$/
+  syn match plugEdge /^  \X*/ contained nextgroup=plugSha
+  syn match plugSha /[0-9a-f]\{7,9}/ contained
+  syn match plugRelDate /([^)]*)$/ contained
+  syn match plugNotLoaded /(not loaded)$/
+  syn match plugError /^x.*/
+  syn region plugDeleted start=/^\~ .*/ end=/^\ze\S/
+  syn match plugH2 /^.*:\n-\+$/
+  syn keyword Function PlugInstall PlugStatus PlugUpdate PlugClean
+  hi def link plug1       Title
+  hi def link plug2       Repeat
+  hi def link plugH2      Type
+  hi def link plugX       Exception
+  hi def link plugBracket Structure
+  hi def link plugNumber  Number
+
+  hi def link plugDash    Special
+  hi def link plugPlus    Constant
+  hi def link plugStar    Boolean
+
+  hi def link plugMessage Function
+  hi def link plugName    Label
+  hi def link plugInstall Function
+  hi def link plugUpdate  Type
+
+  hi def link plugError   Error
+  hi def link plugDeleted Ignore
+  hi def link plugRelDate Comment
+  hi def link plugEdge    PreProc
+  hi def link plugSha     Identifier
+  hi def link plugTag     Constant
+
+  hi def link plugNotLoaded Comment
+endfunction
+
+function! s:lpad(str, len)
+  return a:str . repeat(' ', a:len - len(a:str))
+endfunction
+
+function! s:lines(msg)
+  return split(a:msg, "[\r\n]")
+endfunction
+
+function! s:lastline(msg)
+  return get(s:lines(a:msg), -1, '')
+endfunction
+
+function! s:new_window()
+  execute get(g:, 'plug_window', 'vertical topleft new')
+endfunction
+
+function! s:plug_window_exists()
+  let buflist = tabpagebuflist(s:plug_tab)
+  return !empty(buflist) && index(buflist, s:plug_buf) >= 0
+endfunction
+
+function! s:switch_in()
+  if !s:plug_window_exists()
+    return 0
+  endif
+
+  if winbufnr(0) != s:plug_buf
+    let s:pos = [tabpagenr(), winnr(), winsaveview()]
+    execute 'normal!' s:plug_tab.'gt'
+    let winnr = bufwinnr(s:plug_buf)
+    execute winnr.'wincmd w'
+    call add(s:pos, winsaveview())
+  else
+    let s:pos = [winsaveview()]
+  endif
+
+  setlocal modifiable
+  return 1
+endfunction
+
+function! s:switch_out(...)
+  call winrestview(s:pos[-1])
+  setlocal nomodifiable
+  if a:0 > 0
+    execute a:1
+  endif
+
+  if len(s:pos) > 1
+    execute 'normal!' s:pos[0].'gt'
+    execute s:pos[1] 'wincmd w'
+    call winrestview(s:pos[2])
+  endif
+endfunction
+
+function! s:finish_bindings()
+  nnoremap <silent> <buffer> R  :call <SID>retry()<cr>
+  nnoremap <silent> <buffer> D  :PlugDiff<cr>
+  nnoremap <silent> <buffer> S  :PlugStatus<cr>
+  nnoremap <silent> <buffer> U  :call <SID>status_update()<cr>
+  xnoremap <silent> <buffer> U  :call <SID>status_update()<cr>
+  nnoremap <silent> <buffer> ]] :silent! call <SID>section('')<cr>
+  nnoremap <silent> <buffer> [[ :silent! call <SID>section('b')<cr>
+endfunction
+
+function! s:prepare(...)
+  if empty(getcwd())
+    throw 'Invalid current working directory. Cannot proceed.'
+  endif
+
+  for evar in ['$GIT_DIR', '$GIT_WORK_TREE']
+    if exists(evar)
+      throw evar.' detected. Cannot proceed.'
+    endif
+  endfor
+
+  call s:job_abort()
+  if s:switch_in()
+    if b:plug_preview == 1
+      pc
+    endif
+    enew
+  else
+    call s:new_window()
+  endif
+
+  nnoremap <silent> <buffer> q  :if b:plug_preview==1<bar>pc<bar>endif<bar>bd<cr>
+  if a:0 == 0
+    call s:finish_bindings()
+  endif
+  let b:plug_preview = -1
+  let s:plug_tab = tabpagenr()
+  let s:plug_buf = winbufnr(0)
+  call s:assign_name()
+
+  for k in ['<cr>', 'L', 'o', 'X', 'd', 'dd']
+    execute 'silent! unmap <buffer>' k
+  endfor
+  setlocal buftype=nofile bufhidden=wipe nobuflisted nolist noswapfile nowrap cursorline modifiable nospell
+  if exists('+colorcolumn')
+    setlocal colorcolumn=
+  endif
+  setf vim-plug
+  if exists('g:syntax_on')
+    call s:syntax()
+  endif
+endfunction
+
+function! s:assign_name()
+  " Assign buffer name
+  let prefix = '[Plugins]'
+  let name   = prefix
+  let idx    = 2
+  while bufexists(name)
+    let name = printf('%s (%s)', prefix, idx)
+    let idx = idx + 1
+  endwhile
+  silent! execute 'f' fnameescape(name)
+endfunction
+
+function! s:chsh(swap)
+  let prev = [&shell, &shellcmdflag, &shellredir]
+  if !s:is_win && a:swap
+    set shell=sh shellredir=>%s\ 2>&1
+  endif
+  return prev
+endfunction
+
+function! s:bang(cmd, ...)
+  let batchfile = ''
+  try
+    let [sh, shellcmdflag, shrd] = s:chsh(a:0)
+    " FIXME: Escaping is incomplete. We could use shellescape with eval,
+    "        but it won't work on Windows.
+    let cmd = a:0 ? s:with_cd(a:cmd, a:1) : a:cmd
+    if s:is_win
+      let [batchfile, cmd] = s:batchfile(cmd)
+    endif
+    let g:_plug_bang = (s:is_win && has('gui_running') ? 'silent ' : '').'!'.escape(cmd, '#!%')
+    execute "normal! :execute g:_plug_bang\<cr>\<cr>"
+  finally
+    unlet g:_plug_bang
+    let [&shell, &shellcmdflag, &shellredir] = [sh, shellcmdflag, shrd]
+    if s:is_win && filereadable(batchfile)
+      call delete(batchfile)
+    endif
+  endtry
+  return v:shell_error ? 'Exit status: ' . v:shell_error : ''
+endfunction
+
+function! s:regress_bar()
+  let bar = substitute(getline(2)[1:-2], '.*\zs=', 'x', '')
+  call s:progress_bar(2, bar, len(bar))
+endfunction
+
+function! s:is_updated(dir)
+  return !empty(s:system_chomp('git log --pretty=format:"%h" "HEAD...HEAD@{1}"', a:dir))
+endfunction
+
+function! s:do(pull, force, todo)
+  for [name, spec] in items(a:todo)
+    if !isdirectory(spec.dir)
+      continue
+    endif
+    let installed = has_key(s:update.new, name)
+    let updated = installed ? 0 :
+      \ (a:pull && index(s:update.errors, name) < 0 && s:is_updated(spec.dir))
+    if a:force || installed || updated
+      execute 'cd' s:esc(spec.dir)
+      call append(3, '- Post-update hook for '. name .' ... ')
+      let error = ''
+      let type = type(spec.do)
+      if type == s:TYPE.string
+        if spec.do[0] == ':'
+          if !get(s:loaded, name, 0)
+            let s:loaded[name] = 1
+            call s:reorg_rtp()
+          endif
+          call s:load_plugin(spec)
+          try
+            execute spec.do[1:]
+          catch
+            let error = v:exception
+          endtry
+          if !s:plug_window_exists()
+            cd -
+            throw 'Warning: vim-plug was terminated by the post-update hook of '.name
+          endif
+        else
+          let error = s:bang(spec.do)
+        endif
+      elseif type == s:TYPE.funcref
+        try
+          let status = installed ? 'installed' : (updated ? 'updated' : 'unchanged')
+          call spec.do({ 'name': name, 'status': status, 'force': a:force })
+        catch
+          let error = v:exception
+        endtry
+      else
+        let error = 'Invalid hook type'
+      endif
+      call s:switch_in()
+      call setline(4, empty(error) ? (getline(4) . 'OK')
+                                 \ : ('x' . getline(4)[1:] . error))
+      if !empty(error)
+        call add(s:update.errors, name)
+        call s:regress_bar()
+      endif
+      cd -
+    endif
+  endfor
+endfunction
+
+function! s:hash_match(a, b)
+  return stridx(a:a, a:b) == 0 || stridx(a:b, a:a) == 0
+endfunction
+
+function! s:checkout(spec)
+  let sha = a:spec.commit
+  let output = s:system('git rev-parse HEAD', a:spec.dir)
+  if !v:shell_error && !s:hash_match(sha, s:lines(output)[0])
+    let output = s:system(
+          \ 'git fetch --depth 999999 && git checkout '.s:esc(sha).' --', a:spec.dir)
+  endif
+  return output
+endfunction
+
+function! s:finish(pull)
+  let new_frozen = len(filter(keys(s:update.new), 'g:plugs[v:val].frozen'))
+  if new_frozen
+    let s = new_frozen > 1 ? 's' : ''
+    call append(3, printf('- Installed %d frozen plugin%s', new_frozen, s))
+  endif
+  call append(3, '- Finishing ... ') | 4
+  redraw
+  call plug#helptags()
+  call plug#end()
+  call setline(4, getline(4) . 'Done!')
+  redraw
+  let msgs = []
+  if !empty(s:update.errors)
+    call add(msgs, "Press 'R' to retry.")
+  endif
+  if a:pull && len(s:update.new) < len(filter(getline(5, '$'),
+                \ "v:val =~ '^- ' && v:val !~# 'Already up.to.date'"))
+    call add(msgs, "Press 'D' to see the updated changes.")
+  endif
+  echo join(msgs, ' ')
+  call s:finish_bindings()
+endfunction
+
+function! s:retry()
+  if empty(s:update.errors)
+    return
+  endif
+  echo
+  call s:update_impl(s:update.pull, s:update.force,
+        \ extend(copy(s:update.errors), [s:update.threads]))
+endfunction
+
+function! s:is_managed(name)
+  return has_key(g:plugs[a:name], 'uri')
+endfunction
+
+function! s:names(...)
+  return sort(filter(keys(g:plugs), 'stridx(v:val, a:1) == 0 && s:is_managed(v:val)'))
+endfunction
+
+function! s:check_ruby()
+  silent! ruby require 'thread'; VIM::command("let g:plug_ruby = '#{RUBY_VERSION}'")
+  if !exists('g:plug_ruby')
+    redraw!
+    return s:warn('echom', 'Warning: Ruby interface is broken')
+  endif
+  let ruby_version = split(g:plug_ruby, '\.')
+  unlet g:plug_ruby
+  return s:version_requirement(ruby_version, [1, 8, 7])
+endfunction
+
+function! s:update_impl(pull, force, args) abort
+  let sync = index(a:args, '--sync') >= 0 || has('vim_starting')
+  let args = filter(copy(a:args), 'v:val != "--sync"')
+  let threads = (len(args) > 0 && args[-1] =~ '^[1-9][0-9]*$') ?
+                  \ remove(args, -1) : get(g:, 'plug_threads', 16)
+
+  let managed = filter(copy(g:plugs), 's:is_managed(v:key)')
+  let todo = empty(args) ? filter(managed, '!v:val.frozen || !isdirectory(v:val.dir)') :
+                         \ filter(managed, 'index(args, v:key) >= 0')
+
+  if empty(todo)
+    return s:warn('echo', 'No plugin to '. (a:pull ? 'update' : 'install'))
+  endif
+
+  if !s:is_win && s:git_version_requirement(2, 3)
+    let s:git_terminal_prompt = exists('$GIT_TERMINAL_PROMPT') ? $GIT_TERMINAL_PROMPT : ''
+    let $GIT_TERMINAL_PROMPT = 0
+    for plug in values(todo)
+      let plug.uri = substitute(plug.uri,
+            \ '^https://git::@github\.com', 'https://github.com', '')
+    endfor
+  endif
+
+  if !isdirectory(g:plug_home)
+    try
+      call mkdir(g:plug_home, 'p')
+    catch
+      return s:err(printf('Invalid plug directory: %s. '.
+              \ 'Try to call plug#begin with a valid directory', g:plug_home))
+    endtry
+  endif
+
+  if has('nvim') && !exists('*jobwait') && threads > 1
+    call s:warn('echom', '[vim-plug] Update Neovim for parallel installer')
+  endif
+
+  let use_job = s:nvim || s:vim8
+  let python = (has('python') || has('python3')) && !use_job
+  let ruby = has('ruby') && !use_job && (v:version >= 703 || v:version == 702 && has('patch374')) && !(s:is_win && has('gui_running')) && threads > 1 && s:check_ruby()
+
+  let s:update = {
+    \ 'start':   reltime(),
+    \ 'all':     todo,
+    \ 'todo':    copy(todo),
+    \ 'errors':  [],
+    \ 'pull':    a:pull,
+    \ 'force':   a:force,
+    \ 'new':     {},
+    \ 'threads': (python || ruby || use_job) ? min([len(todo), threads]) : 1,
+    \ 'bar':     '',
+    \ 'fin':     0
+  \ }
+
+  call s:prepare(1)
+  call append(0, ['', ''])
+  normal! 2G
+  silent! redraw
+
+  let s:clone_opt = get(g:, 'plug_shallow', 1) ?
+        \ '--depth 1' . (s:git_version_requirement(1, 7, 10) ? ' --no-single-branch' : '') : ''
+
+  if has('win32unix') || has('wsl')
+    let s:clone_opt .= ' -c core.eol=lf -c core.autocrlf=input'
+  endif
+
+  let s:submodule_opt = s:git_version_requirement(2, 8) ? ' --jobs='.threads : ''
+
+  " Python version requirement (>= 2.7)
+  if python && !has('python3') && !ruby && !use_job && s:update.threads > 1
+    redir => pyv
+    silent python import platform; print platform.python_version()
+    redir END
+    let python = s:version_requirement(
+          \ map(split(split(pyv)[0], '\.'), 'str2nr(v:val)'), [2, 6])
+  endif
+
+  if (python || ruby) && s:update.threads > 1
+    try
+      let imd = &imd
+      if s:mac_gui
+        set noimd
+      endif
+      if ruby
+        call s:update_ruby()
+      else
+        call s:update_python()
+      endif
+    catch
+      let lines = getline(4, '$')
+      let printed = {}
+      silent! 4,$d _
+      for line in lines
+        let name = s:extract_name(line, '.', '')
+        if empty(name) || !has_key(printed, name)
+          call append('$', line)
+          if !empty(name)
+            let printed[name] = 1
+            if line[0] == 'x' && index(s:update.errors, name) < 0
+              call add(s:update.errors, name)
+            end
+          endif
+        endif
+      endfor
+    finally
+      let &imd = imd
+      call s:update_finish()
+    endtry
+  else
+    call s:update_vim()
+    while use_job && sync
+      sleep 100m
+      if s:update.fin
+        break
+      endif
+    endwhile
+  endif
+endfunction
+
+function! s:log4(name, msg)
+  call setline(4, printf('- %s (%s)', a:msg, a:name))
+  redraw
+endfunction
+
+function! s:update_finish()
+  if exists('s:git_terminal_prompt')
+    let $GIT_TERMINAL_PROMPT = s:git_terminal_prompt
+  endif
+  if s:switch_in()
+    call append(3, '- Updating ...') | 4
+    for [name, spec] in items(filter(copy(s:update.all), 'index(s:update.errors, v:key) < 0 && (s:update.force || s:update.pull || has_key(s:update.new, v:key))'))
+      let [pos, _] = s:logpos(name)
+      if !pos
+        continue
+      endif
+      if has_key(spec, 'commit')
+        call s:log4(name, 'Checking out '.spec.commit)
+        let out = s:checkout(spec)
+      elseif has_key(spec, 'tag')
+        let tag = spec.tag
+        if tag =~ '\*'
+          let tags = s:lines(s:system('git tag --list '.plug#shellescape(tag).' --sort -version:refname 2>&1', spec.dir))
+          if !v:shell_error && !empty(tags)
+            let tag = tags[0]
+            call s:log4(name, printf('Latest tag for %s -> %s', spec.tag, tag))
+            call append(3, '')
+          endif
+        endif
+        call s:log4(name, 'Checking out '.tag)
+        let out = s:system('git checkout -q '.s:esc(tag).' -- 2>&1', spec.dir)
+      else
+        let branch = s:esc(get(spec, 'branch', 'master'))
+        call s:log4(name, 'Merging origin/'.branch)
+        let out = s:system('git checkout -q '.branch.' -- 2>&1'
+              \. (has_key(s:update.new, name) ? '' : ('&& git merge --ff-only origin/'.branch.' 2>&1')), spec.dir)
+      endif
+      if !v:shell_error && filereadable(spec.dir.'/.gitmodules') &&
+            \ (s:update.force || has_key(s:update.new, name) || s:is_updated(spec.dir))
+        call s:log4(name, 'Updating submodules. This may take a while.')
+        let out .= s:bang('git submodule update --init --recursive'.s:submodule_opt.' 2>&1', spec.dir)
+      endif
+      let msg = s:format_message(v:shell_error ? 'x': '-', name, out)
+      if v:shell_error
+        call add(s:update.errors, name)
+        call s:regress_bar()
+        silent execute pos 'd _'
+        call append(4, msg) | 4
+      elseif !empty(out)
+        call setline(pos, msg[0])
+      endif
+      redraw
+    endfor
+    silent 4 d _
+    try
+      call s:do(s:update.pull, s:update.force, filter(copy(s:update.all), 'index(s:update.errors, v:key) < 0 && has_key(v:val, "do")'))
+    catch
+      call s:warn('echom', v:exception)
+      call s:warn('echo', '')
+      return
+    endtry
+    call s:finish(s:update.pull)
+    call setline(1, 'Updated. Elapsed time: ' . split(reltimestr(reltime(s:update.start)))[0] . ' sec.')
+    call s:switch_out('normal! gg')
+  endif
+endfunction
+
+function! s:job_abort()
+  if (!s:nvim && !s:vim8) || !exists('s:jobs')
+    return
+  endif
+
+  for [name, j] in items(s:jobs)
+    if s:nvim
+      silent! call jobstop(j.jobid)
+    elseif s:vim8
+      silent! call job_stop(j.jobid)
+    endif
+    if j.new
+      call s:system('rm -rf ' . plug#shellescape(g:plugs[name].dir))
+    endif
+  endfor
+  let s:jobs = {}
+endfunction
+
+function! s:last_non_empty_line(lines)
+  let len = len(a:lines)
+  for idx in range(len)
+    let line = a:lines[len-idx-1]
+    if !empty(line)
+      return line
+    endif
+  endfor
+  return ''
+endfunction
+
+function! s:job_out_cb(self, data) abort
+  let self = a:self
+  let data = remove(self.lines, -1) . a:data
+  let lines = map(split(data, "\n", 1), 'split(v:val, "\r", 1)[-1]')
+  call extend(self.lines, lines)
+  " To reduce the number of buffer updates
+  let self.tick = get(self, 'tick', -1) + 1
+  if !self.running || self.tick % len(s:jobs) == 0
+    let bullet = self.running ? (self.new ? '+' : '*') : (self.error ? 'x' : '-')
+    let result = self.error ? join(self.lines, "\n") : s:last_non_empty_line(self.lines)
+    call s:log(bullet, self.name, result)
+  endif
+endfunction
+
+function! s:job_exit_cb(self, data) abort
+  let a:self.running = 0
+  let a:self.error = a:data != 0
+  call s:reap(a:self.name)
+  call s:tick()
+endfunction
+
+function! s:job_cb(fn, job, ch, data)
+  if !s:plug_window_exists() " plug window closed
+    return s:job_abort()
+  endif
+  call call(a:fn, [a:job, a:data])
+endfunction
+
+function! s:nvim_cb(job_id, data, event) dict abort
+  return a:event == 'stdout' ?
+    \ s:job_cb('s:job_out_cb',  self, 0, join(a:data, "\n")) :
+    \ s:job_cb('s:job_exit_cb', self, 0, a:data)
+endfunction
+
+function! s:spawn(name, cmd, opts)
+  let job = { 'name': a:name, 'running': 1, 'error': 0, 'lines': [''],
+            \ 'new': get(a:opts, 'new', 0) }
+  let s:jobs[a:name] = job
+  let cmd = has_key(a:opts, 'dir') ? s:with_cd(a:cmd, a:opts.dir, 0) : a:cmd
+  let argv = s:is_win ? ['cmd', '/s', '/c', '"'.cmd.'"'] : ['sh', '-c', cmd]
+
+  if s:nvim
+    call extend(job, {
+    \ 'on_stdout': function('s:nvim_cb'),
+    \ 'on_exit':   function('s:nvim_cb'),
+    \ })
+    let jid = jobstart(argv, job)
+    if jid > 0
+      let job.jobid = jid
+    else
+      let job.running = 0
+      let job.error   = 1
+      let job.lines   = [jid < 0 ? argv[0].' is not executable' :
+            \ 'Invalid arguments (or job table is full)']
+    endif
+  elseif s:vim8
+    let jid = job_start(s:is_win ? join(argv, ' ') : argv, {
+    \ 'out_cb':   function('s:job_cb', ['s:job_out_cb',  job]),
+    \ 'exit_cb':  function('s:job_cb', ['s:job_exit_cb', job]),
+    \ 'out_mode': 'raw'
+    \})
+    if job_status(jid) == 'run'
+      let job.jobid = jid
+    else
+      let job.running = 0
+      let job.error   = 1
+      let job.lines   = ['Failed to start job']
+    endif
+  else
+    let job.lines = s:lines(call('s:system', [cmd]))
+    let job.error = v:shell_error != 0
+    let job.running = 0
+  endif
+endfunction
+
+function! s:reap(name)
+  let job = s:jobs[a:name]
+  if job.error
+    call add(s:update.errors, a:name)
+  elseif get(job, 'new', 0)
+    let s:update.new[a:name] = 1
+  endif
+  let s:update.bar .= job.error ? 'x' : '='
+
+  let bullet = job.error ? 'x' : '-'
+  let result = job.error ? join(job.lines, "\n") : s:last_non_empty_line(job.lines)
+  call s:log(bullet, a:name, empty(result) ? 'OK' : result)
+  call s:bar()
+
+  call remove(s:jobs, a:name)
+endfunction
+
+function! s:bar()
+  if s:switch_in()
+    let total = len(s:update.all)
+    call setline(1, (s:update.pull ? 'Updating' : 'Installing').
+          \ ' plugins ('.len(s:update.bar).'/'.total.')')
+    call s:progress_bar(2, s:update.bar, total)
+    call s:switch_out()
+  endif
+endfunction
+
+function! s:logpos(name)
+  for i in range(4, line('$'))
+    if getline(i) =~# '^[-+x*] '.a:name.':'
+      for j in range(i + 1, line('$'))
+        if getline(j) !~ '^ '
+          return [i, j - 1]
+        endif
+      endfor
+      return [i, i]
+    endif
+  endfor
+  return [0, 0]
+endfunction
+
+function! s:log(bullet, name, lines)
+  if s:switch_in()
+    let [b, e] = s:logpos(a:name)
+    if b > 0
+      silent execute printf('%d,%d d _', b, e)
+      if b > winheight('.')
+        let b = 4
+      endif
+    else
+      let b = 4
+    endif
+    " FIXME For some reason, nomodifiable is set after :d in vim8
+    setlocal modifiable
+    call append(b - 1, s:format_message(a:bullet, a:name, a:lines))
+    call s:switch_out()
+  endif
+endfunction
+
+function! s:update_vim()
+  let s:jobs = {}
+
+  call s:bar()
+  call s:tick()
+endfunction
+
+function! s:tick()
+  let pull = s:update.pull
+  let prog = s:progress_opt(s:nvim || s:vim8)
+while 1 " Without TCO, Vim stack is bound to explode
+  if empty(s:update.todo)
+    if empty(s:jobs) && !s:update.fin
+      call s:update_finish()
+      let s:update.fin = 1
+    endif
+    return
+  endif
+
+  let name = keys(s:update.todo)[0]
+  let spec = remove(s:update.todo, name)
+  let new  = empty(globpath(spec.dir, '.git', 1))
+
+  call s:log(new ? '+' : '*', name, pull ? 'Updating ...' : 'Installing ...')
+  redraw
+
+  let has_tag = has_key(spec, 'tag')
+  if !new
+    let [error, _] = s:git_validate(spec, 0)
+    if empty(error)
+      if pull
+        let fetch_opt = (has_tag && !empty(globpath(spec.dir, '.git/shallow'))) ? '--depth 99999999' : ''
+        call s:spawn(name, printf('git fetch %s %s 2>&1', fetch_opt, prog), { 'dir': spec.dir })
+      else
+        let s:jobs[name] = { 'running': 0, 'lines': ['Already installed'], 'error': 0 }
+      endif
+    else
+      let s:jobs[name] = { 'running': 0, 'lines': s:lines(error), 'error': 1 }
+    endif
+  else
+    call s:spawn(name,
+          \ printf('git clone %s %s %s %s 2>&1',
+          \ has_tag ? '' : s:clone_opt,
+          \ prog,
+          \ plug#shellescape(spec.uri, {'script': 0}),
+          \ plug#shellescape(s:trim(spec.dir), {'script': 0})), { 'new': 1 })
+  endif
+
+  if !s:jobs[name].running
+    call s:reap(name)
+  endif
+  if len(s:jobs) >= s:update.threads
+    break
+  endif
+endwhile
+endfunction
+
+function! s:update_python()
+let py_exe = has('python') ? 'python' : 'python3'
+execute py_exe "<< EOF"
+import datetime
+import functools
+import os
+try:
+  import queue
+except ImportError:
+  import Queue as queue
+import random
+import re
+import shutil
+import signal
+import subprocess
+import tempfile
+import threading as thr
+import time
+import traceback
+import vim
+
+G_NVIM = vim.eval("has('nvim')") == '1'
+G_PULL = vim.eval('s:update.pull') == '1'
+G_RETRIES = int(vim.eval('get(g:, "plug_retries", 2)')) + 1
+G_TIMEOUT = int(vim.eval('get(g:, "plug_timeout", 60)'))
+G_CLONE_OPT = vim.eval('s:clone_opt')
+G_PROGRESS = vim.eval('s:progress_opt(1)')
+G_LOG_PROB = 1.0 / int(vim.eval('s:update.threads'))
+G_STOP = thr.Event()
+G_IS_WIN = vim.eval('s:is_win') == '1'
+
+class PlugError(Exception):
+  def __init__(self, msg):
+    self.msg = msg
+class CmdTimedOut(PlugError):
+  pass
+class CmdFailed(PlugError):
+  pass
+class InvalidURI(PlugError):
+  pass
+class Action(object):
+  INSTALL, UPDATE, ERROR, DONE = ['+', '*', 'x', '-']
+
+class Buffer(object):
+  def __init__(self, lock, num_plugs, is_pull):
+    self.bar = ''
+    self.event = 'Updating' if is_pull else 'Installing'
+    self.lock = lock
+    self.maxy = int(vim.eval('winheight(".")'))
+    self.num_plugs = num_plugs
+
+  def __where(self, name):
+    """ Find first line with name in current buffer. Return line num. """
+    found, lnum = False, 0
+    matcher = re.compile('^[-+x*] {0}:'.format(name))
+    for line in vim.current.buffer:
+      if matcher.search(line) is not None:
+        found = True
+        break
+      lnum += 1
+
+    if not found:
+      lnum = -1
+    return lnum
+
+  def header(self):
+    curbuf = vim.current.buffer
+    curbuf[0] = self.event + ' plugins ({0}/{1})'.format(len(self.bar), self.num_plugs)
+
+    num_spaces = self.num_plugs - len(self.bar)
+    curbuf[1] = '[{0}{1}]'.format(self.bar, num_spaces * ' ')
+
+    with self.lock:
+      vim.command('normal! 2G')
+      vim.command('redraw')
+
+  def write(self, action, name, lines):
+    first, rest = lines[0], lines[1:]
+    msg = ['{0} {1}{2}{3}'.format(action, name, ': ' if first else '', first)]
+    msg.extend(['    ' + line for line in rest])
+
+    try:
+      if action == Action.ERROR:
+        self.bar += 'x'
+        vim.command("call add(s:update.errors, '{0}')".format(name))
+      elif action == Action.DONE:
+        self.bar += '='
+
+      curbuf = vim.current.buffer
+      lnum = self.__where(name)
+      if lnum != -1: # Found matching line num
+        del curbuf[lnum]
+        if lnum > self.maxy and action in set([Action.INSTALL, Action.UPDATE]):
+          lnum = 3
+      else:
+        lnum = 3
+      curbuf.append(msg, lnum)
+
+      self.header()
+    except vim.error:
+      pass
+
+class Command(object):
+  CD = 'cd /d' if G_IS_WIN else 'cd'
+
+  def __init__(self, cmd, cmd_dir=None, timeout=60, cb=None, clean=None):
+    self.cmd = cmd
+    if cmd_dir:
+      self.cmd = '{0} {1} && {2}'.format(Command.CD, cmd_dir, self.cmd)
+    self.timeout = timeout
+    self.callback = cb if cb else (lambda msg: None)
+    self.clean = clean if clean else (lambda: None)
+    self.proc = None
+
+  @property
+  def alive(self):
+    """ Returns true only if command still running. """
+    return self.proc and self.proc.poll() is None
+
+  def execute(self, ntries=3):
+    """ Execute the command with ntries if CmdTimedOut.
+        Returns the output of the command if no Exception.
+    """
+    attempt, finished, limit = 0, False, self.timeout
+
+    while not finished:
+      try:
+        attempt += 1
+        result = self.try_command()
+        finished = True
+        return result
+      except CmdTimedOut:
+        if attempt != ntries:
+          self.notify_retry()
+          self.timeout += limit
+        else:
+          raise
+
+  def notify_retry(self):
+    """ Retry required for command, notify user. """
+    for count in range(3, 0, -1):
+      if G_STOP.is_set():
+        raise KeyboardInterrupt
+      msg = 'Timeout. Will retry in {0} second{1} ...'.format(
+            count, 's' if count != 1 else '')
+      self.callback([msg])
+      time.sleep(1)
+    self.callback(['Retrying ...'])
+
+  def try_command(self):
+    """ Execute a cmd & poll for callback. Returns list of output.
+        Raises CmdFailed   -> return code for Popen isn't 0
+        Raises CmdTimedOut -> command exceeded timeout without new output
+    """
+    first_line = True
+
+    try:
+      tfile = tempfile.NamedTemporaryFile(mode='w+b')
+      preexec_fn = not G_IS_WIN and os.setsid or None
+      self.proc = subprocess.Popen(self.cmd, stdout=tfile,
+                                   stderr=subprocess.STDOUT,
+                                   stdin=subprocess.PIPE, shell=True,
+                                   preexec_fn=preexec_fn)
+      thrd = thr.Thread(target=(lambda proc: proc.wait()), args=(self.proc,))
+      thrd.start()
+
+      thread_not_started = True
+      while thread_not_started:
+        try:
+          thrd.join(0.1)
+          thread_not_started = False
+        except RuntimeError:
+          pass
+
+      while self.alive:
+        if G_STOP.is_set():
+          raise KeyboardInterrupt
+
+        if first_line or random.random() < G_LOG_PROB:
+          first_line = False
+          line = '' if G_IS_WIN else nonblock_read(tfile.name)
+          if line:
+            self.callback([line])
+
+        time_diff = time.time() - os.path.getmtime(tfile.name)
+        if time_diff > self.timeout:
+          raise CmdTimedOut(['Timeout!'])
+
+        thrd.join(0.5)
+
+      tfile.seek(0)
+      result = [line.decode('utf-8', 'replace').rstrip() for line in tfile]
+
+      if self.proc.returncode != 0:
+        raise CmdFailed([''] + result)
+
+      return result
+    except:
+      self.terminate()
+      raise
+
+  def terminate(self):
+    """ Terminate process and cleanup. """
+    if self.alive:
+      if G_IS_WIN:
+        os.kill(self.proc.pid, signal.SIGINT)
+      else:
+        os.killpg(self.proc.pid, signal.SIGTERM)
+    self.clean()
+
+class Plugin(object):
+  def __init__(self, name, args, buf_q, lock):
+    self.name = name
+    self.args = args
+    self.buf_q = buf_q
+    self.lock = lock
+    self.tag = args.get('tag', 0)
+
+  def manage(self):
+    try:
+      if os.path.exists(self.args['dir']):
+        self.update()
+      else:
+        self.install()
+        with self.lock:
+          thread_vim_command("let s:update.new['{0}'] = 1".format(self.name))
+    except PlugError as exc:
+      self.write(Action.ERROR, self.name, exc.msg)
+    except KeyboardInterrupt:
+      G_STOP.set()
+      self.write(Action.ERROR, self.name, ['Interrupted!'])
+    except:
+      # Any exception except those above print stack trace
+      msg = 'Trace:\n{0}'.format(traceback.format_exc().rstrip())
+      self.write(Action.ERROR, self.name, msg.split('\n'))
+      raise
+
+  def install(self):
+    target = self.args['dir']
+    if target[-1] == '\\':
+      target = target[0:-1]
+
+    def clean(target):
+      def _clean():
+        try:
+          shutil.rmtree(target)
+        except OSError:
+          pass
+      return _clean
+
+    self.write(Action.INSTALL, self.name, ['Installing ...'])
+    callback = functools.partial(self.write, Action.INSTALL, self.name)
+    cmd = 'git clone {0} {1} {2} {3} 2>&1'.format(
+          '' if self.tag else G_CLONE_OPT, G_PROGRESS, self.args['uri'],
+          esc(target))
+    com = Command(cmd, None, G_TIMEOUT, callback, clean(target))
+    result = com.execute(G_RETRIES)
+    self.write(Action.DONE, self.name, result[-1:])
+
+  def repo_uri(self):
+    cmd = 'git rev-parse --abbrev-ref HEAD 2>&1 && git config -f .git/config remote.origin.url'
+    command = Command(cmd, self.args['dir'], G_TIMEOUT,)
+    result = command.execute(G_RETRIES)
+    return result[-1]
+
+  def update(self):
+    actual_uri = self.repo_uri()
+    expect_uri = self.args['uri']
+    regex = re.compile(r'^(?:\w+://)?(?:[^@/]*@)?([^:/]*(?::[0-9]*)?)[:/](.*?)(?:\.git)?/?$')
+    ma = regex.match(actual_uri)
+    mb = regex.match(expect_uri)
+    if ma is None or mb is None or ma.groups() != mb.groups():
+      msg = ['',
+             'Invalid URI: {0}'.format(actual_uri),
+             'Expected     {0}'.format(expect_uri),
+             'PlugClean required.']
+      raise InvalidURI(msg)
+
+    if G_PULL:
+      self.write(Action.UPDATE, self.name, ['Updating ...'])
+      callback = functools.partial(self.write, Action.UPDATE, self.name)
+      fetch_opt = '--depth 99999999' if self.tag and os.path.isfile(os.path.join(self.args['dir'], '.git/shallow')) else ''
+      cmd = 'git fetch {0} {1} 2>&1'.format(fetch_opt, G_PROGRESS)
+      com = Command(cmd, self.args['dir'], G_TIMEOUT, callback)
+      result = com.execute(G_RETRIES)
+      self.write(Action.DONE, self.name, result[-1:])
+    else:
+      self.write(Action.DONE, self.name, ['Already installed'])
+
+  def write(self, action, name, msg):
+    self.buf_q.put((action, name, msg))
+
+class PlugThread(thr.Thread):
+  def __init__(self, tname, args):
+    super(PlugThread, self).__init__()
+    self.tname = tname
+    self.args = args
+
+  def run(self):
+    thr.current_thread().name = self.tname
+    buf_q, work_q, lock = self.args
+
+    try:
+      while not G_STOP.is_set():
+        name, args = work_q.get_nowait()
+        plug = Plugin(name, args, buf_q, lock)
+        plug.manage()
+        work_q.task_done()
+    except queue.Empty:
+      pass
+
+class RefreshThread(thr.Thread):
+  def __init__(self, lock):
+    super(RefreshThread, self).__init__()
+    self.lock = lock
+    self.running = True
+
+  def run(self):
+    while self.running:
+      with self.lock:
+        thread_vim_command('noautocmd normal! a')
+      time.sleep(0.33)
+
+  def stop(self):
+    self.running = False
+
+if G_NVIM:
+  def thread_vim_command(cmd):
+    vim.session.threadsafe_call(lambda: vim.command(cmd))
+else:
+  def thread_vim_command(cmd):
+    vim.command(cmd)
+
+def esc(name):
+  return '"' + name.replace('"', '\"') + '"'
+
+def nonblock_read(fname):
+  """ Read a file with nonblock flag. Return the last line. """
+  fread = os.open(fname, os.O_RDONLY | os.O_NONBLOCK)
+  buf = os.read(fread, 100000).decode('utf-8', 'replace')
+  os.close(fread)
+
+  line = buf.rstrip('\r\n')
+  left = max(line.rfind('\r'), line.rfind('\n'))
+  if left != -1:
+    left += 1
+    line = line[left:]
+
+  return line
+
+def main():
+  thr.current_thread().name = 'main'
+  nthreads = int(vim.eval('s:update.threads'))
+  plugs = vim.eval('s:update.todo')
+  mac_gui = vim.eval('s:mac_gui') == '1'
+
+  lock = thr.Lock()
+  buf = Buffer(lock, len(plugs), G_PULL)
+  buf_q, work_q = queue.Queue(), queue.Queue()
+  for work in plugs.items():
+    work_q.put(work)
+
+  start_cnt = thr.active_count()
+  for num in range(nthreads):
+    tname = 'PlugT-{0:02}'.format(num)
+    thread = PlugThread(tname, (buf_q, work_q, lock))
+    thread.start()
+  if mac_gui:
+    rthread = RefreshThread(lock)
+    rthread.start()
+
+  while not buf_q.empty() or thr.active_count() != start_cnt:
+    try:
+      action, name, msg = buf_q.get(True, 0.25)
+      buf.write(action, name, ['OK'] if not msg else msg)
+      buf_q.task_done()
+    except queue.Empty:
+      pass
+    except KeyboardInterrupt:
+      G_STOP.set()
+
+  if mac_gui:
+    rthread.stop()
+    rthread.join()
+
+main()
+EOF
+endfunction
+
+function! s:update_ruby()
+  ruby << EOF
+  module PlugStream
+    SEP = ["\r", "\n", nil]
+    def get_line
+      buffer = ''
+      loop do
+        char = readchar rescue return
+        if SEP.include? char.chr
+          buffer << $/
+          break
+        else
+          buffer << char
+        end
+      end
+      buffer
+    end
+  end unless defined?(PlugStream)
+
+  def esc arg
+    %["#{arg.gsub('"', '\"')}"]
+  end
+
+  def killall pid
+    pids = [pid]
+    if /mswin|mingw|bccwin/ =~ RUBY_PLATFORM
+      pids.each { |pid| Process.kill 'INT', pid.to_i rescue nil }
+    else
+      unless `which pgrep 2> /dev/null`.empty?
+        children = pids
+        until children.empty?
+          children = children.map { |pid|
+            `pgrep -P #{pid}`.lines.map { |l| l.chomp }
+          }.flatten
+          pids += children
+        end
+      end
+      pids.each { |pid| Process.kill 'TERM', pid.to_i rescue nil }
+    end
+  end
+
+  def compare_git_uri a, b
+    regex = %r{^(?:\w+://)?(?:[^@/]*@)?([^:/]*(?::[0-9]*)?)[:/](.*?)(?:\.git)?/?$}
+    regex.match(a).to_a.drop(1) == regex.match(b).to_a.drop(1)
+  end
+
+  require 'thread'
+  require 'fileutils'
+  require 'timeout'
+  running = true
+  iswin = VIM::evaluate('s:is_win').to_i == 1
+  pull  = VIM::evaluate('s:update.pull').to_i == 1
+  base  = VIM::evaluate('g:plug_home')
+  all   = VIM::evaluate('s:update.todo')
+  limit = VIM::evaluate('get(g:, "plug_timeout", 60)')
+  tries = VIM::evaluate('get(g:, "plug_retries", 2)') + 1
+  nthr  = VIM::evaluate('s:update.threads').to_i
+  maxy  = VIM::evaluate('winheight(".")').to_i
+  vim7  = VIM::evaluate('v:version').to_i <= 703 && RUBY_PLATFORM =~ /darwin/
+  cd    = iswin ? 'cd /d' : 'cd'
+  tot   = VIM::evaluate('len(s:update.todo)') || 0
+  bar   = ''
+  skip  = 'Already installed'
+  mtx   = Mutex.new
+  take1 = proc { mtx.synchronize { running && all.shift } }
+  logh  = proc {
+    cnt = bar.length
+    $curbuf[1] = "#{pull ? 'Updating' : 'Installing'} plugins (#{cnt}/#{tot})"
+    $curbuf[2] = '[' + bar.ljust(tot) + ']'
+    VIM::command('normal! 2G')
+    VIM::command('redraw')
+  }
+  where = proc { |name| (1..($curbuf.length)).find { |l| $curbuf[l] =~ /^[-+x*] #{name}:/ } }
+  log   = proc { |name, result, type|
+    mtx.synchronize do
+      ing  = ![true, false].include?(type)
+      bar += type ? '=' : 'x' unless ing
+      b = case type
+          when :install  then '+' when :update then '*'
+          when true, nil then '-' else
+            VIM::command("call add(s:update.errors, '#{name}')")
+            'x'
+          end
+      result =
+        if type || type.nil?
+          ["#{b} #{name}: #{result.lines.to_a.last || 'OK'}"]
+        elsif result =~ /^Interrupted|^Timeout/
+          ["#{b} #{name}: #{result}"]
+        else
+          ["#{b} #{name}"] + result.lines.map { |l| "    " << l }
+        end
+      if lnum = where.call(name)
+        $curbuf.delete lnum
+        lnum = 4 if ing && lnum > maxy
+      end
+      result.each_with_index do |line, offset|
+        $curbuf.append((lnum || 4) - 1 + offset, line.gsub(/\e\[./, '').chomp)
+      end
+      logh.call
+    end
+  }
+  bt = proc { |cmd, name, type, cleanup|
+    tried = timeout = 0
+    begin
+      tried += 1
+      timeout += limit
+      fd = nil
+      data = ''
+      if iswin
+        Timeout::timeout(timeout) do
+          tmp = VIM::evaluate('tempname()')
+          system("(#{cmd}) > #{tmp}")
+          data = File.read(tmp).chomp
+          File.unlink tmp rescue nil
+        end
+      else
+        fd = IO.popen(cmd).extend(PlugStream)
+        first_line = true
+        log_prob = 1.0 / nthr
+        while line = Timeout::timeout(timeout) { fd.get_line }
+          data << line
+          log.call name, line.chomp, type if name && (first_line || rand < log_prob)
+          first_line = false
+        end
+        fd.close
+      end
+      [$? == 0, data.chomp]
+    rescue Timeout::Error, Interrupt => e
+      if fd && !fd.closed?
+        killall fd.pid
+        fd.close
+      end
+      cleanup.call if cleanup
+      if e.is_a?(Timeout::Error) && tried < tries
+        3.downto(1) do |countdown|
+          s = countdown > 1 ? 's' : ''
+          log.call name, "Timeout. Will retry in #{countdown} second#{s} ...", type
+          sleep 1
+        end
+        log.call name, 'Retrying ...', type
+        retry
+      end
+      [false, e.is_a?(Interrupt) ? "Interrupted!" : "Timeout!"]
+    end
+  }
+  main = Thread.current
+  threads = []
+  watcher = Thread.new {
+    if vim7
+      while VIM::evaluate('getchar(1)')
+        sleep 0.1
+      end
+    else
+      require 'io/console' # >= Ruby 1.9
+      nil until IO.console.getch == 3.chr
+    end
+    mtx.synchronize do
+      running = false
+      threads.each { |t| t.raise Interrupt } unless vim7
+    end
+    threads.each { |t| t.join rescue nil }
+    main.kill
+  }
+  refresh = Thread.new {
+    while true
+      mtx.synchronize do
+        break unless running
+        VIM::command('noautocmd normal! a')
+      end
+      sleep 0.2
+    end
+  } if VIM::evaluate('s:mac_gui') == 1
+
+  clone_opt = VIM::evaluate('s:clone_opt')
+  progress = VIM::evaluate('s:progress_opt(1)')
+  nthr.times do
+    mtx.synchronize do
+      threads << Thread.new {
+        while pair = take1.call
+          name = pair.first
+          dir, uri, tag = pair.last.values_at *%w[dir uri tag]
+          exists = File.directory? dir
+          ok, result =
+            if exists
+              chdir = "#{cd} #{iswin ? dir : esc(dir)}"
+              ret, data = bt.call "#{chdir} && git rev-parse --abbrev-ref HEAD 2>&1 && git config -f .git/config remote.origin.url", nil, nil, nil
+              current_uri = data.lines.to_a.last
+              if !ret
+                if data =~ /^Interrupted|^Timeout/
+                  [false, data]
+                else
+                  [false, [data.chomp, "PlugClean required."].join($/)]
+                end
+              elsif !compare_git_uri(current_uri, uri)
+                [false, ["Invalid URI: #{current_uri}",
+                         "Expected:    #{uri}",
+                         "PlugClean required."].join($/)]
+              else
+                if pull
+                  log.call name, 'Updating ...', :update
+                  fetch_opt = (tag && File.exist?(File.join(dir, '.git/shallow'))) ? '--depth 99999999' : ''
+                  bt.call "#{chdir} && git fetch #{fetch_opt} #{progress} 2>&1", name, :update, nil
+                else
+                  [true, skip]
+                end
+              end
+            else
+              d = esc dir.sub(%r{[\\/]+$}, '')
+              log.call name, 'Installing ...', :install
+              bt.call "git clone #{clone_opt unless tag} #{progress} #{uri} #{d} 2>&1", name, :install, proc {
+                FileUtils.rm_rf dir
+              }
+            end
+          mtx.synchronize { VIM::command("let s:update.new['#{name}'] = 1") } if !exists && ok
+          log.call name, result, ok
+        end
+      } if running
+    end
+  end
+  threads.each { |t| t.join rescue nil }
+  logh.call
+  refresh.kill if refresh
+  watcher.kill
+EOF
+endfunction
+
+function! s:shellesc_cmd(arg, script)
+  let escaped = substitute('"'.a:arg.'"', '[&|<>()@^!"]', '^&', 'g')
+  return substitute(escaped, '%', (a:script ? '%' : '^') . '&', 'g')
+endfunction
+
+function! s:shellesc_ps1(arg)
+  return "'".substitute(escape(a:arg, '\"'), "'", "''", 'g')."'"
+endfunction
+
+function! plug#shellescape(arg, ...)
+  let opts = a:0 > 0 && type(a:1) == s:TYPE.dict ? a:1 : {}
+  let shell = get(opts, 'shell', s:is_win ? 'cmd.exe' : 'sh')
+  let script = get(opts, 'script', 1)
+  if shell =~# 'cmd\.exe$'
+    return s:shellesc_cmd(a:arg, script)
+  elseif shell =~# 'powershell\.exe$' || shell =~# 'pwsh$'
+    return s:shellesc_ps1(a:arg)
+  endif
+  return shellescape(a:arg)
+endfunction
+
+function! s:glob_dir(path)
+  return map(filter(s:glob(a:path, '**'), 'isdirectory(v:val)'), 's:dirpath(v:val)')
+endfunction
+
+function! s:progress_bar(line, bar, total)
+  call setline(a:line, '[' . s:lpad(a:bar, a:total) . ']')
+endfunction
+
+function! s:compare_git_uri(a, b)
+  " See `git help clone'
+  " https:// [user@] github.com[:port] / junegunn/vim-plug [.git]
+  "          [git@]  github.com[:port] : junegunn/vim-plug [.git]
+  " file://                            / junegunn/vim-plug        [/]
+  "                                    / junegunn/vim-plug        [/]
+  let pat = '^\%(\w\+://\)\='.'\%([^@/]*@\)\='.'\([^:/]*\%(:[0-9]*\)\=\)'.'[:/]'.'\(.\{-}\)'.'\%(\.git\)\=/\?$'
+  let ma = matchlist(a:a, pat)
+  let mb = matchlist(a:b, pat)
+  return ma[1:2] ==# mb[1:2]
+endfunction
+
+function! s:format_message(bullet, name, message)
+  if a:bullet != 'x'
+    return [printf('%s %s: %s', a:bullet, a:name, s:lastline(a:message))]
+  else
+    let lines = map(s:lines(a:message), '"    ".v:val')
+    return extend([printf('x %s:', a:name)], lines)
+  endif
+endfunction
+
+function! s:with_cd(cmd, dir, ...)
+  let script = a:0 > 0 ? a:1 : 1
+  return printf('cd%s %s && %s', s:is_win ? ' /d' : '', plug#shellescape(a:dir, {'script': script}), a:cmd)
+endfunction
+
+function! s:system(cmd, ...)
+  let batchfile = ''
+  try
+    let [sh, shellcmdflag, shrd] = s:chsh(1)
+    let cmd = a:0 > 0 ? s:with_cd(a:cmd, a:1) : a:cmd
+    if s:is_win
+      let [batchfile, cmd] = s:batchfile(cmd)
+    endif
+    return system(cmd)
+  finally
+    let [&shell, &shellcmdflag, &shellredir] = [sh, shellcmdflag, shrd]
+    if s:is_win && filereadable(batchfile)
+      call delete(batchfile)
+    endif
+  endtry
+endfunction
+
+function! s:system_chomp(...)
+  let ret = call('s:system', a:000)
+  return v:shell_error ? '' : substitute(ret, '\n$', '', '')
+endfunction
+
+function! s:git_validate(spec, check_branch)
+  let err = ''
+  if isdirectory(a:spec.dir)
+    let result = s:lines(s:system('git rev-parse --abbrev-ref HEAD 2>&1 && git config -f .git/config remote.origin.url', a:spec.dir))
+    let remote = result[-1]
+    if v:shell_error
+      let err = join([remote, 'PlugClean required.'], "\n")
+    elseif !s:compare_git_uri(remote, a:spec.uri)
+      let err = join(['Invalid URI: '.remote,
+                    \ 'Expected:    '.a:spec.uri,
+                    \ 'PlugClean required.'], "\n")
+    elseif a:check_branch && has_key(a:spec, 'commit')
+      let result = s:lines(s:system('git rev-parse HEAD 2>&1', a:spec.dir))
+      let sha = result[-1]
+      if v:shell_error
+        let err = join(add(result, 'PlugClean required.'), "\n")
+      elseif !s:hash_match(sha, a:spec.commit)
+        let err = join([printf('Invalid HEAD (expected: %s, actual: %s)',
+                              \ a:spec.commit[:6], sha[:6]),
+                      \ 'PlugUpdate required.'], "\n")
+      endif
+    elseif a:check_branch
+      let branch = result[0]
+      " Check tag
+      if has_key(a:spec, 'tag')
+        let tag = s:system_chomp('git describe --exact-match --tags HEAD 2>&1', a:spec.dir)
+        if a:spec.tag !=# tag && a:spec.tag !~ '\*'
+          let err = printf('Invalid tag: %s (expected: %s). Try PlugUpdate.',
+                \ (empty(tag) ? 'N/A' : tag), a:spec.tag)
+        endif
+      " Check branch
+      elseif a:spec.branch !=# branch
+        let err = printf('Invalid branch: %s (expected: %s). Try PlugUpdate.',
+              \ branch, a:spec.branch)
+      endif
+      if empty(err)
+        let [ahead, behind] = split(s:lastline(s:system(printf(
+              \ 'git rev-list --count --left-right HEAD...origin/%s',
+              \ a:spec.branch), a:spec.dir)), '\t')
+        if !v:shell_error && ahead
+          if behind
+            " Only mention PlugClean if diverged, otherwise it's likely to be
+            " pushable (and probably not that messed up).
+            let err = printf(
+                  \ "Diverged from origin/%s (%d commit(s) ahead and %d commit(s) behind!\n"
+                  \ .'Backup local changes and run PlugClean and PlugUpdate to reinstall it.', a:spec.branch, ahead, behind)
+          else
+            let err = printf("Ahead of origin/%s by %d commit(s).\n"
+                  \ .'Cannot update until local changes are pushed.',
+                  \ a:spec.branch, ahead)
+          endif
+        endif
+      endif
+    endif
+  else
+    let err = 'Not found'
+  endif
+  return [err, err =~# 'PlugClean']
+endfunction
+
+function! s:rm_rf(dir)
+  if isdirectory(a:dir)
+    call s:system((s:is_win ? 'rmdir /S /Q ' : 'rm -rf ') . plug#shellescape(a:dir))
+  endif
+endfunction
+
+function! s:clean(force)
+  call s:prepare()
+  call append(0, 'Searching for invalid plugins in '.g:plug_home)
+  call append(1, '')
+
+  " List of valid directories
+  let dirs = []
+  let errs = {}
+  let [cnt, total] = [0, len(g:plugs)]
+  for [name, spec] in items(g:plugs)
+    if !s:is_managed(name)
+      call add(dirs, spec.dir)
+    else
+      let [err, clean] = s:git_validate(spec, 1)
+      if clean
+        let errs[spec.dir] = s:lines(err)[0]
+      else
+        call add(dirs, spec.dir)
+      endif
+    endif
+    let cnt += 1
+    call s:progress_bar(2, repeat('=', cnt), total)
+    normal! 2G
+    redraw
+  endfor
+
+  let allowed = {}
+  for dir in dirs
+    let allowed[s:dirpath(fnamemodify(dir, ':h:h'))] = 1
+    let allowed[dir] = 1
+    for child in s:glob_dir(dir)
+      let allowed[child] = 1
+    endfor
+  endfor
+
+  let todo = []
+  let found = sort(s:glob_dir(g:plug_home))
+  while !empty(found)
+    let f = remove(found, 0)
+    if !has_key(allowed, f) && isdirectory(f)
+      call add(todo, f)
+      call append(line('$'), '- ' . f)
+      if has_key(errs, f)
+        call append(line('$'), '    ' . errs[f])
+      endif
+      let found = filter(found, 'stridx(v:val, f) != 0')
+    end
+  endwhile
+
+  4
+  redraw
+  if empty(todo)
+    call append(line('$'), 'Already clean.')
+  else
+    let s:clean_count = 0
+    call append(3, ['Directories to delete:', ''])
+    redraw!
+    if a:force || s:ask_no_interrupt('Delete all directories?')
+      call s:delete([6, line('$')], 1)
+    else
+      call setline(4, 'Cancelled.')
+      nnoremap <silent> <buffer> d :set opfunc=<sid>delete_op<cr>g@
+      nmap     <silent> <buffer> dd d_
+      xnoremap <silent> <buffer> d :<c-u>call <sid>delete_op(visualmode(), 1)<cr>
+      echo 'Delete the lines (d{motion}) to delete the corresponding directories'
+    endif
+  endif
+  4
+  setlocal nomodifiable
+endfunction
+
+function! s:delete_op(type, ...)
+  call s:delete(a:0 ? [line("'<"), line("'>")] : [line("'["), line("']")], 0)
+endfunction
+
+function! s:delete(range, force)
+  let [l1, l2] = a:range
+  let force = a:force
+  while l1 <= l2
+    let line = getline(l1)
+    if line =~ '^- ' && isdirectory(line[2:])
+      execute l1
+      redraw!
+      let answer = force ? 1 : s:ask('Delete '.line[2:].'?', 1)
+      let force = force || answer > 1
+      if answer
+        call s:rm_rf(line[2:])
+        setlocal modifiable
+        call setline(l1, '~'.line[1:])
+        let s:clean_count += 1
+        call setline(4, printf('Removed %d directories.', s:clean_count))
+        setlocal nomodifiable
+      endif
+    endif
+    let l1 += 1
+  endwhile
+endfunction
+
+function! s:upgrade()
+  echo 'Downloading the latest version of vim-plug'
+  redraw
+  let tmp = tempname()
+  let new = tmp . '/plug.vim'
+
+  try
+    let out = s:system(printf('git clone --depth 1 %s %s', plug#shellescape(s:plug_src), plug#shellescape(tmp)))
+    if v:shell_error
+      return s:err('Error upgrading vim-plug: '. out)
+    endif
+
+    if readfile(s:me) ==# readfile(new)
+      echo 'vim-plug is already up-to-date'
+      return 0
+    else
+      call rename(s:me, s:me . '.old')
+      call rename(new, s:me)
+      unlet g:loaded_plug
+      echo 'vim-plug has been upgraded'
+      return 1
+    endif
+  finally
+    silent! call s:rm_rf(tmp)
+  endtry
+endfunction
+
+function! s:upgrade_specs()
+  for spec in values(g:plugs)
+    let spec.frozen = get(spec, 'frozen', 0)
+  endfor
+endfunction
+
+function! s:status()
+  call s:prepare()
+  call append(0, 'Checking plugins')
+  call append(1, '')
+
+  let ecnt = 0
+  let unloaded = 0
+  let [cnt, total] = [0, len(g:plugs)]
+  for [name, spec] in items(g:plugs)
+    let is_dir = isdirectory(spec.dir)
+    if has_key(spec, 'uri')
+      if is_dir
+        let [err, _] = s:git_validate(spec, 1)
+        let [valid, msg] = [empty(err), empty(err) ? 'OK' : err]
+      else
+        let [valid, msg] = [0, 'Not found. Try PlugInstall.']
+      endif
+    else
+      if is_dir
+        let [valid, msg] = [1, 'OK']
+      else
+        let [valid, msg] = [0, 'Not found.']
+      endif
+    endif
+    let cnt += 1
+    let ecnt += !valid
+    " `s:loaded` entry can be missing if PlugUpgraded
+    if is_dir && get(s:loaded, name, -1) == 0
+      let unloaded = 1
+      let msg .= ' (not loaded)'
+    endif
+    call s:progress_bar(2, repeat('=', cnt), total)
+    call append(3, s:format_message(valid ? '-' : 'x', name, msg))
+    normal! 2G
+    redraw
+  endfor
+  call setline(1, 'Finished. '.ecnt.' error(s).')
+  normal! gg
+  setlocal nomodifiable
+  if unloaded
+    echo "Press 'L' on each line to load plugin, or 'U' to update"
+    nnoremap <silent> <buffer> L :call <SID>status_load(line('.'))<cr>
+    xnoremap <silent> <buffer> L :call <SID>status_load(line('.'))<cr>
+  end
+endfunction
+
+function! s:extract_name(str, prefix, suffix)
+  return matchstr(a:str, '^'.a:prefix.' \zs[^:]\+\ze:.*'.a:suffix.'$')
+endfunction
+
+function! s:status_load(lnum)
+  let line = getline(a:lnum)
+  let name = s:extract_name(line, '-', '(not loaded)')
+  if !empty(name)
+    call plug#load(name)
+    setlocal modifiable
+    call setline(a:lnum, substitute(line, ' (not loaded)$', '', ''))
+    setlocal nomodifiable
+  endif
+endfunction
+
+function! s:status_update() range
+  let lines = getline(a:firstline, a:lastline)
+  let names = filter(map(lines, 's:extract_name(v:val, "[x-]", "")'), '!empty(v:val)')
+  if !empty(names)
+    echo
+    execute 'PlugUpdate' join(names)
+  endif
+endfunction
+
+function! s:is_preview_window_open()
+  silent! wincmd P
+  if &previewwindow
+    wincmd p
+    return 1
+  endif
+endfunction
+
+function! s:find_name(lnum)
+  for lnum in reverse(range(1, a:lnum))
+    let line = getline(lnum)
+    if empty(line)
+      return ''
+    endif
+    let name = s:extract_name(line, '-', '')
+    if !empty(name)
+      return name
+    endif
+  endfor
+  return ''
+endfunction
+
+function! s:preview_commit()
+  if b:plug_preview < 0
+    let b:plug_preview = !s:is_preview_window_open()
+  endif
+
+  let sha = matchstr(getline('.'), '^  \X*\zs[0-9a-f]\{7,9}')
+  if empty(sha)
+    return
+  endif
+
+  let name = s:find_name(line('.'))
+  if empty(name) || !has_key(g:plugs, name) || !isdirectory(g:plugs[name].dir)
+    return
+  endif
+
+  if exists('g:plug_pwindow') && !s:is_preview_window_open()
+    execute g:plug_pwindow
+    execute 'e' sha
+  else
+    execute 'pedit' sha
+    wincmd P
+  endif
+  setlocal previewwindow filetype=git buftype=nofile nobuflisted modifiable
+  let batchfile = ''
+  try
+    let [sh, shellcmdflag, shrd] = s:chsh(1)
+    let cmd = 'cd '.plug#shellescape(g:plugs[name].dir).' && git show --no-color --pretty=medium '.sha
+    if s:is_win
+      let [batchfile, cmd] = s:batchfile(cmd)
+    endif
+    execute 'silent %!' cmd
+  finally
+    let [&shell, &shellcmdflag, &shellredir] = [sh, shellcmdflag, shrd]
+    if s:is_win && filereadable(batchfile)
+      call delete(batchfile)
+    endif
+  endtry
+  setlocal nomodifiable
+  nnoremap <silent> <buffer> q :q<cr>
+  wincmd p
+endfunction
+
+function! s:section(flags)
+  call search('\(^[x-] \)\@<=[^:]\+:', a:flags)
+endfunction
+
+function! s:format_git_log(line)
+  let indent = '  '
+  let tokens = split(a:line, nr2char(1))
+  if len(tokens) != 5
+    return indent.substitute(a:line, '\s*$', '', '')
+  endif
+  let [graph, sha, refs, subject, date] = tokens
+  let tag = matchstr(refs, 'tag: [^,)]\+')
+  let tag = empty(tag) ? ' ' : ' ('.tag.') '
+  return printf('%s%s%s%s%s (%s)', indent, graph, sha, tag, subject, date)
+endfunction
+
+function! s:append_ul(lnum, text)
+  call append(a:lnum, ['', a:text, repeat('-', len(a:text))])
+endfunction
+
+function! s:diff()
+  call s:prepare()
+  call append(0, ['Collecting changes ...', ''])
+  let cnts = [0, 0]
+  let bar = ''
+  let total = filter(copy(g:plugs), 's:is_managed(v:key) && isdirectory(v:val.dir)')
+  call s:progress_bar(2, bar, len(total))
+  for origin in [1, 0]
+    let plugs = reverse(sort(items(filter(copy(total), (origin ? '' : '!').'(has_key(v:val, "commit") || has_key(v:val, "tag"))'))))
+    if empty(plugs)
+      continue
+    endif
+    call s:append_ul(2, origin ? 'Pending updates:' : 'Last update:')
+    for [k, v] in plugs
+      let range = origin ? '..origin/'.v.branch : 'HEAD@{1}..'
+      let cmd = 'git log --graph --color=never '.join(map(['--pretty=format:%x01%h%x01%d%x01%s%x01%cr', range], 'plug#shellescape(v:val)'))
+      if has_key(v, 'rtp')
+        let cmd .= ' -- '.plug#shellescape(v.rtp)
+      endif
+      let diff = s:system_chomp(cmd, v.dir)
+      if !empty(diff)
+        let ref = has_key(v, 'tag') ? (' (tag: '.v.tag.')') : has_key(v, 'commit') ? (' '.v.commit) : ''
+        call append(5, extend(['', '- '.k.':'.ref], map(s:lines(diff), 's:format_git_log(v:val)')))
+        let cnts[origin] += 1
+      endif
+      let bar .= '='
+      call s:progress_bar(2, bar, len(total))
+      normal! 2G
+      redraw
+    endfor
+    if !cnts[origin]
+      call append(5, ['', 'N/A'])
+    endif
+  endfor
+  call setline(1, printf('%d plugin(s) updated.', cnts[0])
+        \ . (cnts[1] ? printf(' %d plugin(s) have pending updates.', cnts[1]) : ''))
+
+  if cnts[0] || cnts[1]
+    nnoremap <silent> <buffer> <plug>(plug-preview) :silent! call <SID>preview_commit()<cr>
+    if empty(maparg("\<cr>", 'n'))
+      nmap <buffer> <cr> <plug>(plug-preview)
+    endif
+    if empty(maparg('o', 'n'))
+      nmap <buffer> o <plug>(plug-preview)
+    endif
+  endif
+  if cnts[0]
+    nnoremap <silent> <buffer> X :call <SID>revert()<cr>
+    echo "Press 'X' on each block to revert the update"
+  endif
+  normal! gg
+  setlocal nomodifiable
+endfunction
+
+function! s:revert()
+  if search('^Pending updates', 'bnW')
+    return
+  endif
+
+  let name = s:find_name(line('.'))
+  if empty(name) || !has_key(g:plugs, name) ||
+    \ input(printf('Revert the update of %s? (y/N) ', name)) !~? '^y'
+    return
+  endif
+
+  call s:system('git reset --hard HEAD@{1} && git checkout '.s:esc(g:plugs[name].branch).' --', g:plugs[name].dir)
+  setlocal modifiable
+  normal! "_dap
+  setlocal nomodifiable
+  echo 'Reverted'
+endfunction
+
+function! s:snapshot(force, ...) abort
+  call s:prepare()
+  setf vim
+  call append(0, ['" Generated by vim-plug',
+                \ '" '.strftime("%c"),
+                \ '" :source this file in vim to restore the snapshot',
+                \ '" or execute: vim -S snapshot.vim',
+                \ '', '', 'PlugUpdate!'])
+  1
+  let anchor = line('$') - 3
+  let names = sort(keys(filter(copy(g:plugs),
+        \'has_key(v:val, "uri") && !has_key(v:val, "commit") && isdirectory(v:val.dir)')))
+  for name in reverse(names)
+    let sha = s:system_chomp('git rev-parse --short HEAD', g:plugs[name].dir)
+    if !empty(sha)
+      call append(anchor, printf("silent! let g:plugs['%s'].commit = '%s'", name, sha))
+      redraw
+    endif
+  endfor
+
+  if a:0 > 0
+    let fn = expand(a:1)
+    if filereadable(fn) && !(a:force || s:ask(a:1.' already exists. Overwrite?'))
+      return
+    endif
+    call writefile(getline(1, '$'), fn)
+    echo 'Saved as '.a:1
+    silent execute 'e' s:esc(fn)
+    setf vim
+  endif
+endfunction
+
+function! s:split_rtp()
+  return split(&rtp, '\\\@<!,')
+endfunction
+
+let s:first_rtp = s:escrtp(get(s:split_rtp(), 0, ''))
+let s:last_rtp  = s:escrtp(get(s:split_rtp(), -1, ''))
+
+if exists('g:plugs')
+  let g:plugs_order = get(g:, 'plugs_order', keys(g:plugs))
+  call s:upgrade_specs()
+  call s:define_commands()
+endif
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/.vim/pack/plugins/start/ale b/.vim/pack/plugins/start/ale
deleted file mode 160000
index 2d9380d75c5c27a3241925d24ab3be8977a43207..0000000000000000000000000000000000000000
--- a/.vim/pack/plugins/start/ale
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 2d9380d75c5c27a3241925d24ab3be8977a43207
diff --git a/.vim/pack/plugins/start/fugitive b/.vim/pack/plugins/start/fugitive
deleted file mode 160000
index 1d8c0a38b2fc4ce9ca4204676573b6335725ff75..0000000000000000000000000000000000000000
--- a/.vim/pack/plugins/start/fugitive
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 1d8c0a38b2fc4ce9ca4204676573b6335725ff75
diff --git a/.vim/pack/plugins/start/fugitive-gitlab b/.vim/pack/plugins/start/fugitive-gitlab
deleted file mode 160000
index 43a13dbbc9aae85338877329ed28c9e4d8488db1..0000000000000000000000000000000000000000
--- a/.vim/pack/plugins/start/fugitive-gitlab
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 43a13dbbc9aae85338877329ed28c9e4d8488db1
diff --git a/.vim/pack/plugins/start/jedi-vim b/.vim/pack/plugins/start/jedi-vim
deleted file mode 160000
index 08f13af066fad3a60cf241b37ac1878b8cfafa46..0000000000000000000000000000000000000000
--- a/.vim/pack/plugins/start/jedi-vim
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 08f13af066fad3a60cf241b37ac1878b8cfafa46
diff --git a/.vim/pack/plugins/start/loremipsum/README b/.vim/pack/plugins/start/loremipsum/README
deleted file mode 100644
index 635392259255b1cc7d05896df16561d02bbd0ba0..0000000000000000000000000000000000000000
--- a/.vim/pack/plugins/start/loremipsum/README
+++ /dev/null
@@ -1,18 +0,0 @@
-This is a mirror of http://www.vim.org/scripts/script.php?script_id=2289
-
-Insert a dummy text of a certain length. Actually, the text isn't 
-generated but selected from some text. By default, the following text is 
-used, which is included in the archive:
-http://www.lorem-ipsum-dolor-sit-amet.com/lorem-ipsum-dolor-sit-amet.html
-
-NOTE: The webpage didn't contain any copyright message but there is a 
-statement that one is allowed to paste the text into "your document". 
-I thus assume it's ok to include it in the archive. If not, please let me know.
-
-Command:
-:Loremipsum[!] [WORDCOUNT] [PARAGRAPH_TEMPLATE] [PREFIX POSTFIX]
-    Insert some random text.
-
-:Loreplace [REPLACEMENT] [PREFIX] [POSTFIX]
-    Replace the random text with something else or simply remove it.
-
diff --git a/.vim/pack/plugins/start/loremipsum/autoload/loremipsum.txt b/.vim/pack/plugins/start/loremipsum/autoload/loremipsum.txt
deleted file mode 100644
index 0f93ae9ac129ceef7abd3d7c5bbe3cc41ec74147..0000000000000000000000000000000000000000
--- a/.vim/pack/plugins/start/loremipsum/autoload/loremipsum.txt
+++ /dev/null
@@ -1,127 +0,0 @@
-Lorem ipsum dolor sit amet...
-
-Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis splople autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.
-
-Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum. Typi non habent claritatem insitam; est usus legentis in iis qui facit eorum claritatem. Investigationes demonstraverunt lectores legere me lius quod ii legunt saepius. Claritas est etiam processus dynamicus, qui sequitur mutationem consuetudium lectorum. Mirum est notare quam littera gothica, quam nunc putamus parum claram, anteposuerit litterarum formas humanitatis per seacula quarta decima et quinta decima. Eodem modo typi, qui nunc nobis videntur parum clari, fiant sollemnes in futurum.
-
-Nunc varius risus quis nulla. Vivamus vel magna. Ut rutrum. Aenean dignissim, leo quis faucibus semper, massa est faucibus massa, sit amet pharetra arcu nunc et sem. Aliquam tempor. Nam lobortis sem non urna. Pellentesque et urna sit amet leo accumsan volutpat. Nam molestie lobortis lorem. Quisque eu nulla. Donec id orci in ligula dapibus egestas. Donec sed velit ac lectus mattis sagittis.
-
-In hac habitasse platea dictumst. Maecenas in ligula. Duis tincidunt odio sollicitudin quam. Nullam non mauris. Phasellus lacinia, velit sit amet bibendum euismod, leo diam interdum ligula, eu scelerisque sem purus in tellus.
-
-Lorem ipsum dolor sit amet, consectetuer adipiscing elit. In sit amet nunc id quam porta varius. Ut aliquet facilisis turpis. Etiam pellentesque quam et erat. Praesent suscipit justo.
-
-Cras nec metus pulvinar sem tempor hendrerit. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nullam in nulla. Mauris elementum. Curabitur tempor, quam ac rutrum placerat, nunc augue ullamcorper est, vitae molestie neque nunc a nunc. Integer justo dolor, consequat id, rutrum auctor, ullamcorper sed, orci. In hac habitasse platea dictumst. Fusce euismod semper orci. Integer venenatis quam non nunc. Vivamus in lorem a nisi aliquet commodo. Suspendisse massa lorem, dignissim at, vehicula et, ornare non, libero. Donec molestie, velit quis dictum scelerisque, est lectus hendrerit lorem, eget dignissim orci nisl sit amet massa. Etiam volutpat lobortis eros. Nunc ac tellus in sapien molestie rhoncus. Pellentesque nisl. Praesent venenatis blandit velit. Fusce rutrum. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Pellentesque vitae erat. Vivamus porttitor cursus lacus. Pellentesque tellus. Nunc aliquam interdum felis. Nulla imperdiet leo. Mauris hendrerit, sem at mollis pharetra, leo sapien pretium elit, a faucibus sapien dolor vel pede. Vestibulum et enim ut nulla sollicitudin adipiscing. Suspendisse malesuada venenatis mauris. Curabitur ornare mollis velit. Sed vitae metus. Morbi posuere mi id odio. Donec elit sem, tempor at, pharetra eu, sodales sit amet, elit.
-
-Curabitur urna tellus, aliquam vitae, ultrices eget, vehicula nec, diam. Integer elementum, felis non faucibus euismod, erat massa dictum eros, eu ornare ligula tortor et mauris. Cras molestie magna in nibh. Aenean et tellus. Fusce adipiscing commodo erat. In eu justo. Nulla dictum, erat sed blandit venenatis, arcu dolor molestie dolor, vitae congue orci risus a nulla. Pellentesque sit amet arcu. In mattis laoreet enim. Pellentesque id augue et arcu blandit tincidunt. Pellentesque elit ante, rhoncus quis, dapibus sit amet, tincidunt eu, nibh. In imperdiet. Nunc lectus neque, commodo eget, porttitor quis, fringilla quis, purus.
-
-Duis sagittis dignissim eros. In sit amet lectus. Fusce lacinia mauris vitae nisl interdum condimentum. Etiam in magna ac nibh ultrices vehicula. Maecenas commodo facilisis lectus. Praesent sed mi. Phasellus ipsum. Donec quis tellus id lectus faucibus molestie. Praesent vel ligula. Nam venenatis neque quis mauris. Proin felis. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aliquam quam. Nam felis velit, semper nec, aliquam nec, iaculis vel, mi. Nullam et augue vitae nunc tristique vehicula. Suspendisse eget elit. Duis adipiscing dui non quam.
-
-Duis posuere tortor sit amet est iaculis egestas. Ut at magna. Etiam dui nisi, blandit quis, fermentum vitae, auctor vel, sem. Cras et leo. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Proin luctus, odio eu porttitor adipiscing, ante elit tristique tortor, sit amet malesuada tortor nisi sit amet neque. Praesent rhoncus eros non velit. Pellentesque mattis. Sed sit amet ante. Mauris ac nibh eget risus volutpat tempor. Praesent volutpat sollicitudin dui. Sed in tellus id urna viverra commodo. Vestibulum enim felis, interdum non, sollicitudin in, posuere a, sem. Cras nibh.
-
-Sed facilisis ultrices dolor. Vestibulum pretium mauris sed turpis. Phasellus a pede id odio interdum elementum. Nam urna felis, sodales ut, luctus vel, condimentum vitae, est. Vestibulum ut augue. Nunc laoreet sapien quis neque semper dictum. Phasellus rhoncus est id turpis. Vestibulum in elit at odio pellentesque volutpat. Nam nec tortor. Suspendisse porttitor consequat nulla. Morbi suscipit tincidunt nisi. Sed laoreet, mauris et tincidunt facilisis, est nisi pellentesque ligula, sit amet convallis neque dolor at sapien. Aenean viverra justo ac sem.
-
-Pellentesque at dolor non lectus sagittis semper. Donec quis mi. Duis eget pede. Phasellus arcu tellus, ultricies id, consequat id, lobortis nec, diam. Suspendisse sed nunc. Pellentesque id magna. Morbi interdum quam at est. Maecenas eleifend mi in urna. Praesent et lectus ac nibh luctus viverra. In vel dolor sed nibh sollicitudin tincidunt. Ut consequat nisi sit amet nibh. Nunc mi tortor, tristique sit amet, rhoncus porta, malesuada elementum, nisi. Integer vitae enim quis risus aliquet gravida. Curabitur vel lorem vel erat dapibus lobortis. Donec dignissim tellus at arcu. Quisque molestie pulvinar sem.
-
-Nulla magna neque, ullamcorper tempus, luctus eget, malesuada ut, velit. Morbi felis. Praesent in purus at ipsum cursus posuere. Morbi bibendum facilisis eros. Phasellus aliquam sapien in erat. Praesent venenatis diam dignissim dui. Praesent risus erat, iaculis ac, dapibus sed, imperdiet ac, erat. Nullam sed ipsum. Phasellus non dolor. Donec ut elit.
-
-Sed risus.
-
-Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vestibulum sem lacus, commodo vitae, aliquam ut, posuere eget, dui. Praesent massa dui, mattis et, vehicula auctor, iaculis id, diam. Morbi viverra neque sit amet risus. Nunc pellentesque aliquam orci. Proin neque elit, mollis vel, tristique nec, varius consectetuer, lorem. Nam malesuada ornare nunc. Duis turpis turpis, fermentum a, aliquet quis, sodales at, dolor. Duis eget velit eget risus fringilla hendrerit. Nulla facilisi. Mauris turpis pede, aliquet ac, mattis sed, consequat in, massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Etiam egestas posuere metus. Aliquam erat volutpat. Donec non tortor. Vivamus posuere nisi mollis dolor. Quisque porttitor nisi ac elit. Nullam tincidunt ligula vitae nulla.
-
-Vivamus sit amet risus et ipsum viverra malesuada. Duis luctus. Curabitur adipiscing metus et felis. Vestibulum tortor. Pellentesque purus. Donec pharetra, massa quis malesuada auctor, tortor ipsum lobortis ipsum, eget facilisis ante nisi eget lectus. Sed a est. Aliquam nec felis eu sem euismod viverra. Suspendisse felis mi, dictum id, convallis ac, mattis non, nibh. Donec sagittis quam eu mauris. Phasellus et leo at quam dapibus pellentesque. In non lacus. Nullam tristique nunc ut arcu scelerisque aliquam. Nullam viverra magna vitae leo. Vestibulum in lacus sit amet lectus tempus aliquet. Duis cursus nisl ac orci. Donec non nisl. Mauris lacus sapien, congue a, facilisis at, egestas vel, quam. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae.
-
-Phasellus ipsum odio, suscipit nec, fringilla at, vehicula quis, tellus. Phasellus gravida condimentum dui. Aenean imperdiet arcu vitae ipsum. Duis dapibus, nisi non porttitor iaculis, ligula odio sollicitudin mauris, non luctus nunc massa a velit. Fusce ac nisi. Integer volutpat elementum metus. Vivamus luctus ultricies diam. Curabitur euismod. Vivamus quam. Nunc ante. Nulla mi nulla, vehicula nec, ultrices a, tincidunt vel, enim.
-
-Suspendisse potenti. Aenean sed velit. Nunc a urna quis turpis imperdiet sollicitudin. Mauris aliquam mauris ut tortor. Pellentesque tincidunt mattis nibh. In id lectus eu magna vulputate ultrices. Aliquam interdum varius enim. Maecenas at mauris. Sed sed nibh. Nam non turpis. Maecenas fermentum nibh in est. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
-
-Duis sagittis fermentum nunc. Nullam elementum erat. Quisque dapibus, augue nec dapibus bibendum, velit enim scelerisque sem, accumsan suscipit lectus odio ac justo. Fusce in felis a enim rhoncus placerat. Cras nec eros et mi egestas facilisis. In hendrerit tincidunt neque. Maecenas tellus. Fusce sollicitudin molestie dui. Sed magna orci, accumsan nec, viverra non, pharetra id, dui.
-
-Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nullam placerat mi vitae felis. In porta, quam sit amet sodales elementum, elit dolor aliquam elit, a commodo nisi felis nec nibh. Nulla facilisi. Etiam at tortor. Vivamus quis sapien nec magna scelerisque lobortis.
-
-Curabitur tincidunt viverra justo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed eros ante, mattis ullamcorper, posuere quis, tempor vel, metus. Maecenas cursus cursus lacus. Sed risus magna, aliquam sed, suscipit sit amet, porttitor quis, odio. Suspendisse cursus justo nec urna. Suspendisse potenti. In hac habitasse platea dictumst. Cras quis lacus. Vestibulum rhoncus congue lacus. Vivamus euismod, felis quis commodo viverra, dolor elit dictum ante, et mollis eros augue at est. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nulla lectus sem, tristique sed, semper in, hendrerit non, sem. Vivamus dignissim massa in ipsum. Morbi fringilla ullamcorper ligula. Nunc turpis. Mauris vitae sapien. Nunc luctus bibendum velit.
-
-Morbi faucibus volutpat sapien. Nam ac mauris at justo adipiscing facilisis. Nunc et velit. Donec auctor, nulla id laoreet volutpat, pede erat feugiat ante, auctor facilisis dui augue non turpis. Suspendisse mattis metus et justo. Aliquam erat volutpat. Suspendisse potenti. Nam hendrerit lorem commodo metus laoreet ullamcorper. Proin vel nunc a felis sollicitudin pretium. Maecenas in metus at mi mollis posuere. Quisque ac quam sed massa adipiscing rutrum. Vestibulum ipsum. Phasellus porta sapien. Maecenas venenatis tellus vel tellus.
-
-Aliquam aliquam dolor at justo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Morbi pretium purus a magna. Nullam dui tellus, blandit eu, facilisis non, pharetra consectetuer, leo. Maecenas sit amet ante sagittis magna imperdiet pulvinar. Vestibulum a lacus at sapien suscipit tempus. Proin pulvinar velit sed nulla. Curabitur aliquet leo ac massa. Praesent posuere lectus vitae odio. Donec imperdiet urna vel ante. In semper accumsan diam. Vestibulum porta justo. Suspendisse egestas commodo eros.
-
-Suspendisse tincidunt mi vel metus. Vivamus non urna in nisi gravida congue. Aenean semper orci a eros. Praesent dictum. Maecenas pharetra odio ut dui. Pellentesque ut orci. Sed lobortis, velit at laoreet suscipit, quam est sagittis nibh, id varius ipsum quam ac metus. Phasellus est nibh, bibendum non, dictum sed, vehicula in, sem. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Mauris sollicitudin. Duis congue tincidunt orci. Integer blandit neque ut quam. Morbi mollis. Integer lacinia. Praesent blandit elementum sapien. Praesent enim mauris, suscipit a, auctor et, lacinia vitae, nunc. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Praesent lacus diam, auctor quis, venenatis in, hendrerit at, est. Vivamus eget eros. Phasellus congue, sapien ac iaculis feugiat, lacus lacus accumsan lorem, quis volutpat justo turpis ac mauris.
-
-Duis velit magna, scelerisque vitae, varius ut, aliquam vel, justo. Proin ac augue. Nullam auctor lectus vitae arcu. Vestibulum porta justo placerat purus. Ut sem nunc, vestibulum nec, sodales vitae, vehicula eget, ipsum. Sed nec tortor. Aenean malesuada. Nunc convallis, massa eu vestibulum commodo, quam mauris interdum arcu, at pellentesque diam metus ut nulla. Vestibulum eu dolor sit amet lacus varius fermentum. Morbi dolor enim, pulvinar eget, lobortis ac, fringilla ac, turpis. Duis ac erat. Etiam consequat. Integer sed est eu elit pellentesque dapibus. Duis venenatis magna feugiat nisi. Vestibulum et turpis. Maecenas a enim. Suspendisse ultricies ornare justo. Fusce sit amet nisi sed arcu condimentum venenatis. Vivamus dui. Nunc accumsan, quam a fermentum mattis, magna sapien iaculis pede, at porttitor quam odio at est.
-
-Proin eleifend nisi et nibh. Maecenas a lacus. Mauris porta quam non massa molestie scelerisque. Nulla sed ante at lorem suscipit rutrum. Nam quis tellus. Cras elit nisi, ornare a, condimentum vitae, rutrum sit amet, tellus. Maecenas a dolor. Praesent tempor, felis eget gravida blandit, urna lacus faucibus velit, in consectetuer sapien erat nec quam. Integer bibendum odio sit amet neque. Integer imperdiet rhoncus mi. Pellentesque malesuada purus id purus. Quisque viverra porta lectus. Sed lacus leo, feugiat at, consectetuer eu, luctus quis, risus. Suspendisse faucibus orci et nunc. Nullam vehicula fermentum risus. Fusce felis nibh, dignissim vulputate, ultrices quis, lobortis et, arcu. Duis aliquam libero non diam.
-
-Vestibulum placerat tincidunt tortor. Ut vehicula ligula quis lectus. In eget velit. Quisque vel risus. Mauris pede. Nullam ornare sapien sit amet nisl. Cras tortor. Donec tortor lorem, dignissim sit amet, pulvinar eget, mattis eu, metus. Cras vestibulum erat ultrices neque. Praesent rhoncus, dui blandit pellentesque congue, mauris mi ullamcorper odio, eget ultricies nunc felis in augue. Nullam porta nunc. Donec in pede ac mauris mattis eleifend. Cras a libero vel est lacinia dictum. In hac habitasse platea dictumst. Nullam malesuada molestie lorem. Nunc non mauris. Nam accumsan tortor gravida elit. Cras porttitor.
-
-Praesent vel enim sed eros luctus imperdiet. Mauris neque ante, placerat at, mollis vitae, faucibus quis, leo. Ut feugiat. Vivamus urna quam, congue vulputate, convallis non, cursus cursus, risus. Quisque aliquet. Donec vulputate egestas elit. Morbi dictum, sem sit amet aliquam euismod, odio tortor pellentesque odio, ac ultrices enim nibh sed quam. Integer tortor velit, condimentum a, vestibulum eget, sagittis nec, neque. Aenean est urna, bibendum et, imperdiet at, rhoncus in, arcu. In hac habitasse platea dictumst. Vestibulum blandit dignissim dui. Maecenas vitae magna non felis ornare consectetuer. Sed lorem. Nam leo. In eget pede. Donec porta.
-
-Etiam facilisis. Nam suscipit. Ut consectetuer leo vehicula augue. Aliquam cursus. Integer pharetra rhoncus massa. Cras et ligula vel quam tristique commodo. Sed est lectus, mollis quis, lacinia id, sollicitudin nec, eros. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Morbi urna dui, fermentum quis, feugiat imperdiet, imperdiet id, sapien. Phasellus auctor nunc. Vivamus eget augue quis neque vestibulum placerat. Duis placerat. Maecenas accumsan rutrum lacus. Vestibulum lacinia semper nibh. Aenean diam odio, scelerisque at, ullamcorper nec, tincidunt dapibus, quam. Duis vel ante nec tortor porta mollis. Praesent orci. Cras dignissim vulputate metus.
-
-Phasellus eu quam. Quisque interdum cursus purus. In orci. Maecenas vehicula. Sed et mauris. Praesent feugiat viverra lacus. Suspendisse pulvinar lacus ut nunc. Quisque nisi. Suspendisse id risus nec nisi ultrices ornare. Donec eget tellus. Nullam molestie placerat felis. Aenean facilisis. Nunc erat. Integer in tellus. Mauris volutpat, neque vel ornare porttitor, dolor nisi sagittis dolor, sit amet bibendum orci leo blandit lacus.
-
-In id velit sodales arcu iaculis venenatis. Etiam at leo. Vivamus vitae sem. Mauris volutpat congue risus. Curabitur leo. Aenean tempor tortor eget ligula. Aenean vel augue. Vestibulum ac justo. In hac habitasse platea dictumst. Nam dignissim nisi non mauris. Donec et tortor. Morbi felis. Donec aliquet, erat eu ultrices tincidunt, lorem mi sagittis lectus, ut feugiat pede lacus quis sapien. Suspendisse porta, felis a fermentum interdum, dui nisl sodales felis, ut fermentum sapien nibh eu nunc.
-
-Lorem ipsum dolor sit amet. Integer sed magna. Duis nisl nulla, porta ut, molestie sit amet, tincidunt eu, enim. Cras eu mauris. Cras iaculis, nisi vel tempor fringilla, nisl dolor imperdiet dolor, id lobortis ligula nunc sed dolor.
-
-Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Curabitur eu dui vitae nulla tempor consectetuer. Suspendisse ligula dolor, varius nec, vulputate id, luctus sed, lacus. Pellentesque purus urna, porta molestie, mattis non, posuere et, velit. Curabitur diam mauris, dictum vel, lacinia congue, molestie at, nisi. Proin tempus diam ut ligula. Mauris dictum, metus dapibus iaculis sollicitudin, leo ligula cursus sem, eu congue metus ligula sed justo. Suspendisse potenti. Donec sodales elementum turpis. Duis dolor elit, dapibus sed, placerat vitae, auctor sit amet, nunc. Donec nisl quam, hendrerit vitae, porttitor et, imperdiet id, quam. Quisque dolor. Nulla tincidunt, lacus id dapibus ullamcorper, turpis diam fringilla eros, quis aliquet dolor felis at lorem. Pellentesque et lacus. Vestibulum tempor lectus at est. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed vitae eros. Nulla pulvinar turpis eget nunc. Sed bibendum pellentesque nunc. Integer tristique, lorem ac faucibus tempor, lorem dolor mollis turpis, a consectetuer nunc justo ac nisl.
-
-Nam vitae purus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Praesent semper magna. In eu justo. Nunc vitae risus nec sem scelerisque consequat. In hac habitasse platea dictumst. Nam posuere ultricies turpis. Pellentesque a pede. Duis sed tortor. Phasellus egestas porta lectus. Aliquam dignissim consequat diam. Pellentesque pede.
-
-Ut varius tincidunt tellus. Curabitur ornare ipsum. Aenean laoreet posuere orci. Etiam id nisl. Suspendisse volutpat elit molestie orci. Suspendisse vel augue at felis tincidunt sollicitudin. Fusce arcu. Duis a tortor. Duis et odio et leo sollicitudin consequat. Aliquam lobortis. Phasellus condimentum. Ut porttitor bibendum libero. Integer euismod lacinia velit. Donec velit justo, sodales varius, cursus sed, mattis a, arcu.
-
-Maecenas accumsan, sem iaculis egestas gravida, odio nunc aliquet dui, eget cursus diam purus vel augue. Donec eros nisi, imperdiet quis, volutpat ac, sollicitudin sed, arcu. Aenean vel mauris. Mauris tincidunt. Nullam euismod odio at velit. Praesent elit purus, porttitor id, facilisis in, consequat ut, libero. Morbi imperdiet, magna quis ullamcorper malesuada, mi massa pharetra lectus, a pellentesque urna urna id turpis. Nam posuere lectus vitae nibh. Etiam tortor orci, sagittis malesuada, rhoncus quis, hendrerit eget, libero. Quisque commodo nulla at nunc. Mauris consequat, enim vitae venenatis sollicitudin, dolor orci bibendum enim, a sagittis nulla nunc quis elit. Phasellus augue. Nunc suscipit, magna tincidunt lacinia faucibus, lacus tellus ornare purus, a pulvinar lacus orci eget nibh. Maecenas sed nibh non lacus tempor faucibus. In hac habitasse platea dictumst. Vivamus a orci at nulla tristique condimentum. Donec arcu quam, dictum accumsan, convallis accumsan, cursus sit amet, ipsum. In pharetra sagittis nunc.
-
-Donec consequat mi. Quisque vitae dolor. Integer lobortis. Maecenas id nulla. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed volutpat felis vitae dui. Vestibulum et est ac ligula dapibus elementum. Nunc suscipit nisl eu felis. Duis nec tortor. Nullam diam libero, semper id, consequat in, consectetuer ut, metus. Phasellus dui purus, vehicula sed, venenatis a, rutrum at, nunc. Pellentesque interdum sapien nec neque.
-
-Vivamus sagittis, sem sit amet porttitor lobortis, turpis sapien consequat orci, sed commodo nulla pede eget sem. Phasellus sollicitudin. Proin orci erat, blandit ut, molestie sed, fringilla non, odio. Nulla porta, tortor non suscipit gravida, velit enim aliquam quam, nec condimentum orci augue vel magna. Nulla facilisi. Donec ipsum enim, congue in, tempus id, pulvinar sagittis, leo. Donec et elit in nunc blandit auctor. Nulla congue urna quis lorem. Nam rhoncus pede sed nunc. Etiam vitae quam. Fusce feugiat pede vel quam. In et augue.
-
-Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
-
-Phasellus mollis dictum nulla. Integer vitae neque vitae eros fringilla rutrum. Vestibulum in pede adipiscing mi dapibus condimentum. Etiam felis risus, condimentum in, malesuada eget, pretium ut, sapien. Suspendisse placerat lectus venenatis lorem. Sed accumsan aliquam enim. Etiam hendrerit, metus eu semper rutrum, nisl elit pharetra purus, non interdum nibh enim eget augue. Sed mauris. Nam varius odio a sapien. Aenean rutrum dictum sapien. Fusce pharetra elementum ligula. Nunc eu mi non augue iaculis facilisis. Morbi interdum. Donec nisi arcu, rhoncus ac, vestibulum ut, pellentesque nec, risus. Maecenas tempus facilisis neque. Nulla mattis odio vitae tortor. Fusce iaculis. Aliquam rhoncus, diam quis tincidunt facilisis, sem quam luctus augue, ut posuere neque sem vitae neque.
-
-Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nunc faucibus posuere turpis. Sed laoreet, est sed gravida tempor, nibh enim fringilla quam, et dapibus mi enim sit amet risus. Nulla sollicitudin eros sit amet diam. Aliquam ante. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Ut et est. Donec semper nulla in ipsum. Integer elit. In pharetra lorem vel ante.
-
-Sed sed justo. Curabitur consectetuer arcu. Etiam placerat est eget odio. Nulla facilisi. Nulla facilisi. Mauris non neque. Suspendisse et diam. Sed vestibulum malesuada ipsum. Cras id magna. Nunc pharetra velit vitae eros. Vivamus ac risus. Mauris ac pede laoreet felis pharetra ultricies. Proin et neque. Aliquam dignissim placerat felis. Mauris porta ante sagittis purus.
-
-Pellentesque quis leo eget ante tempor cursus. Pellentesque sagittis, diam ut dictum accumsan, magna est viverra erat, vitae imperdiet neque mauris aliquam nisl. Suspendisse blandit quam quis felis. Praesent turpis nunc, vehicula in, bibendum vitae, blandit ac, turpis. Duis rhoncus. Vestibulum metus. Morbi consectetuer felis id tortor. Etiam augue leo, cursus eget, ornare et, ornare sagittis, tellus. Fusce felis tellus, consectetuer nec, consequat at, ornare non, arcu. Maecenas condimentum sodales odio. Sed eu orci.
-
-Nullam adipiscing eros sit amet ante. Vestibulum ante. Sed quis ipsum non ligula dignissim luctus. Integer quis justo id tortor accumsan tempus. Cras vitae magna. Nunc bibendum lacinia tellus. Quisque porttitor ligula et pede. Nam erat nibh, fringilla ac, rutrum sit amet, rhoncus in, ipsum. Mauris rhoncus, lacus eu convallis sagittis, quam magna placerat est, vitae imperdiet mauris arcu ac dui. In ac urna non justo posuere mattis. Suspendisse egestas bibendum nulla. In erat nunc, posuere sed, auctor quis, pulvinar quis, mi. Mauris at est. Phasellus lacinia eros in arcu. Maecenas lobortis, tellus vel gravida tincidunt, elit erat suscipit arcu, in varius erat risus vel magna. Fusce nec ante quis dolor vestibulum bibendum. Pellentesque sit amet urna.
-
-Curabitur eget nisi at lectus placerat gravida. Vivamus nulla. Donec luctus. Sed quis tellus. Quisque lobortis faucibus mi. Aenean vitae risus ut arcu malesuada ornare. Maecenas nec erat. Sed rhoncus, elit laoreet sagittis luctus, nulla leo faucibus lectus, vitae accumsan est diam id felis. Nunc dui pede, vestibulum eu, elementum et, gravida quis, sapien. Donec blandit. Donec sed magna. Curabitur a risus. Nullam nibh libero, sagittis vel, hendrerit accumsan, pulvinar consequat, tellus. Donec varius dictum nisl. Vestibulum suscipit enim ac nulla. Proin tincidunt. Proin sagittis. Curabitur auctor metus non mauris. Nunc condimentum nisl non augue. Donec leo urna, dignissim vitae, porttitor ut, iaculis sit amet, sem.
-
-Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Suspendisse potenti. Quisque augue metus, hendrerit sit amet, commodo vel, scelerisque ut, ante. Praesent euismod euismod risus. Mauris ut metus sit amet mi cursus commodo. Morbi congue mauris ac sapien. Donec justo. Sed congue nunc vel mauris. Pellentesque vehicula orci id libero. In hac habitasse platea dictumst. Nulla sollicitudin, purus id elementum dictum, dolor augue hendrerit ante, vel semper metus enim et dolor. Pellentesque molestie nunc id enim. Etiam mollis tempus neque. Duis tincidunt commodo elit.
-
-Aenean pellentesque purus eu mi. Proin commodo, massa commodo dapibus elementum, libero lacus pulvinar eros, ut tincidunt nisl elit ut velit. Cras rutrum porta purus. Vivamus lorem. Sed turpis enim, faucibus quis, pharetra in, sagittis sed, magna. Curabitur ultricies felis ut libero. Nullam tincidunt enim eu nibh. Nunc eget ipsum in sem facilisis convallis. Proin fermentum risus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Vestibulum hendrerit malesuada odio. Fusce ut elit ut augue sollicitudin blandit. Phasellus volutpat lorem. Duis non pede et neque luctus tincidunt. Duis interdum tempus elit.
-
-Aenean metus. Vestibulum ac lacus. Vivamus porttitor, massa ut hendrerit bibendum, metus augue aliquet turpis, vitae pellentesque velit est vitae metus. Duis eros enim, fermentum at, sagittis id, lacinia eget, tellus. Nunc consequat pede et nulla. Donec nibh. Pellentesque cursus orci vitae urna. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Pellentesque risus turpis, aliquet ac, accumsan vel, iaculis eget, enim. Pellentesque nibh neque, malesuada id, tempor vel, aliquet ut, eros. In hac habitasse platea dictumst. Integer neque purus, congue sed, mattis sed, vulputate ac, pede. Donec vestibulum purus non tortor. Integer at nunc.
-
-Suspendisse fermentum velit quis sem. Phasellus suscipit nunc in risus. Nulla sed lectus. Morbi sollicitudin, diam ac bibendum scelerisque, enim tortor rhoncus sapien, vel posuere dolor neque in sem. Pellentesque tellus augue, tempus nec, laoreet at, porttitor blandit, leo. Phasellus in odio. Duis lobortis, metus eu laoreet tristique, pede mi congue mi, quis posuere augue nulla a augue. Pellentesque sed est. Mauris cursus urna id lectus. Integer dignissim feugiat eros. Sed tempor volutpat dolor. Vestibulum vel lectus nec mauris semper adipiscing.
-
-Aliquam tincidunt enim sit amet tellus. Sed mauris nulla, semper tincidunt, luctus a, sodales eget, leo. Sed ligula augue, cursus et, posuere non, mollis sit amet, est. Mauris massa. Proin hendrerit massa. Phasellus eu purus. Donec est neque, dignissim a, eleifend vitae, lobortis ut, nibh. Nullam sed lorem. Proin laoreet augue quis eros. Suspendisse vehicula nunc ac nisi.
-
-Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Fusce mi. Vivamus enim velit, condimentum sit amet, laoreet quis, fermentum non, ipsum. Etiam quis felis. Curabitur tincidunt, sapien et luctus faucibus, nibh nisi commodo arcu, vitae cursus neque ante sed elit. Sed sit amet erat. Phasellus luctus cursus risus. Phasellus ac felis. Proin nec eros quis ipsum pellentesque congue. Curabitur et diam sed odio accumsan cursus. Pellentesque ultricies. Quisque aliquam. Sed nisi velit, consectetuer eget, dictum ac, molestie a, magna. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Curabitur consequat leo et dui. Aenean ligula mi, dignissim ut, imperdiet tristique, interdum a, dolor.
-
-Vestibulum elit nibh, rhoncus non, euismod sit amet, pretium eu, enim. Nunc commodo ultricies dui. Cras gravida rutrum massa. Donec accumsan mattis turpis. Quisque sem. Quisque elementum sapien iaculis augue. In dui sem, congue sit amet, feugiat quis, lobortis at, eros.
-
-Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Proin interdum vehicula purus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
-
-Aenean risus dui, volutpat non, posuere vitae, sollicitudin in, urna. Nam eget eros a enim pulvinar rhoncus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla facilisis massa ut massa. Sed nisi purus, malesuada eu, porta vulputate, suscipit auctor, nunc. Vestibulum convallis, augue eu luctus malesuada, mi ante mattis odio, ac venenatis neque sem vitae nisi. Donec pellentesque purus a lorem. Etiam in massa. Nam ut metus. In rhoncus venenatis tellus. Etiam aliquam. Ut aliquam lectus ut lectus. Nam turpis lacus, tristique sit amet, convallis sollicitudin, commodo a, purus. Nulla vitae eros a diam blandit mollis. Proin luctus feugiat eros. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Duis ultricies urna. Etiam enim urna, pharetra suscipit, varius et, congue quis, odio. Donec lobortis, elit bibendum euismod faucibus, velit nibh egestas libero, vitae pellentesque elit augue ut massa.
-
-Nulla consequat erat at massa. Vivamus id mi. Morbi purus enim, dapibus a, facilisis non, tincidunt at, enim. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Duis imperdiet eleifend arcu. Cras magna ligula, consequat at, tempor non, posuere nec, libero. Vestibulum vel ipsum. Praesent congue justo et nunc. Vestibulum nec felis vitae nisl pharetra sollicitudin. Quisque nec arcu vel tellus tristique vestibulum. Aenean vel lacus. Mauris dolor erat, commodo ut, dapibus vehicula, lobortis sit amet, orci. Aliquam augue. In semper nisi nec libero. Cras magna ipsum, scelerisque et, tempor eget, gravida nec, lacus. Fusce eros nisi, ullamcorper blandit, ultricies eget, elementum eget, pede. Phasellus id risus vitae nisl ullamcorper congue. Proin est.
-
-Sed eleifend odio sed leo. Mauris tortor turpis, dignissim vel, ornare ac, ultricies quis, magna. Phasellus lacinia, augue ac dictum tempor, nisi felis ornare magna, eu vehicula tellus enim eu neque. Fusce est eros, sagittis eget, interdum a, ornare suscipit, massa. Sed vehicula elementum ligula. Aliquam erat volutpat. Donec odio. Quisque nunc. Integer cursus feugiat magna. Fusce ac elit ut elit aliquam suscipit. Duis leo est, interdum nec, varius in, facilisis vitae, odio. Phasellus eget leo at urna adipiscing vulputate. Nam eu erat vel arcu tristique mattis. Nullam placerat lorem non augue. Cras et velit. Morbi sapien nulla, volutpat a, tristique eu, molestie ac, felis.
-
-Suspendisse sit amet tellus non odio porta pellentesque. Nulla facilisi. Integer iaculis condimentum augue. Nullam urna nulla, vestibulum quis, lacinia eget, ullamcorper eu, dui. Quisque dignissim consequat nisl. Pellentesque porta augue in diam. Duis mattis. Aliquam et mi quis turpis pellentesque consequat. Suspendisse nulla erat, lacinia nec, pretium vitae, feugiat ac, quam. Etiam sed tellus vel est ultrices condimentum. Vestibulum euismod. Vivamus blandit. Pellentesque eu urna. Vestibulum consequat sem vitae dui. In dictum feugiat quam. Phasellus placerat. In sem nisl, elementum vitae, venenatis nec, lacinia ac, arcu. Pellentesque gravida egestas mi. Integer rutrum tincidunt libero.
-
-Duis viverra. Nulla diam lectus, tincidunt et, scelerisque vitae, aliquam vitae, justo. Quisque eget erat. Donec aliquet porta magna. Sed nisl. Ut tellus. Suspendisse quis mi eget dolor sagittis tristique. Aenean non pede eget nisl bibendum gravida. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Morbi laoreet. Suspendisse potenti. Donec accumsan porta felis.
-
-Fusce tristique leo quis pede. Cras nibh. Sed eget est vitae tortor mollis ullamcorper. Suspendisse placerat dolor a dui. Vestibulum condimentum dui et elit. Pellentesque porttitor ipsum at ipsum. Nam massa. Duis lorem. Donec porta. Proin ligula. Aenean nunc massa, dapibus quis, imperdiet id, commodo a, lacus. Cras sit amet erat et nulla varius aliquet. Aliquam erat volutpat. Praesent feugiat vehicula pede. Suspendisse pulvinar, orci in sollicitudin venenatis, nibh libero hendrerit sem, eu tempor nisi felis et metus. Etiam gravida sem ut mi. Integer volutpat, enim eu varius gravida, risus urna venenatis lectus, ac ultrices quam nulla eu leo. Duis arcu. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.
-
-Vivamus lacus libero, aliquam eget, iaculis quis, tristique adipiscing, diam. Vivamus nec massa non justo iaculis pellentesque. Aenean accumsan elit sit amet nibh feugiat semper. Cras tempor ornare purus. Integer id nisi. Phasellus dui velit, ultrices vel, ullamcorper mattis, hendrerit in, erat. Aenean vel quam at eros mattis commodo. Aenean feugiat iaculis justo. Maecenas accumsan justo ut nibh. Donec ac lectus vitae odio lobortis tristique. Donec vestibulum mattis lectus. Donec et lorem.
-
-Cras sit amet mauris. Curabitur a quam. Aliquam neque. Nam nunc nunc, lacinia sed, varius quis, iaculis eget, ante. Nulla dictum justo eu lacus. Phasellus sit amet quam. Nullam sodales. Cras non magna eu est consectetuer faucibus. Donec tempor lobortis turpis. Sed tellus velit, ullamcorper ac, fringilla vitae, sodales nec, purus. Morbi aliquet risus in mi.
-
-Curabitur cursus volutpat neque. Proin posuere mauris ut ipsum. Praesent scelerisque tortor a justo. Quisque consequat libero eu erat. In eros augue, sollicitudin sed, tempus tincidunt, pulvinar a, lectus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Maecenas interdum purus id risus. Ut ultricies cursus dui. In nec enim at odio aliquam iaculis. Fusce nisl. Pellentesque sagittis. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean placerat tellus. In semper sagittis enim. Aliquam risus neque, pretium in, fermentum vitae, vulputate et, massa. Nulla sed erat vel eros ornare venenatis.
-
-In hac habitasse platea dictumst. Sed nisl nunc, suscipit id, feugiat vel, tristique sit amet, sapien. Phasellus vestibulum. Nam quis justo. Nulla sit amet mauris sed lacus pharetra fringilla. In mollis orci ultrices.
-Lorem ipsum dolor sit amet. 
-
diff --git a/.vim/pack/plugins/start/loremipsum/autoload/loremipsum.vim b/.vim/pack/plugins/start/loremipsum/autoload/loremipsum.vim
deleted file mode 100644
index 37014cc6e18086ccf73bcdedc3e08456b62384c4..0000000000000000000000000000000000000000
--- a/.vim/pack/plugins/start/loremipsum/autoload/loremipsum.vim
+++ /dev/null
@@ -1,157 +0,0 @@
-" loremipsum.vim
-" @Author:      Thomas Link (mailto:micathom AT gmail com?subject=[vim])
-" @Website:     http://www.vim.org/account/profile.php?user_id=4037
-" @License:     GPL (see http://www.gnu.org/licenses/gpl.txt)
-" @Created:     2008-07-10.
-" @Last Change: 2008-07-11.
-" @Revision:    0.0.138
-
-if &cp || exists("loaded_loremipsum_autoload")
-    finish
-endif
-let loaded_loremipsum_autoload = 1
-let s:save_cpo = &cpo
-set cpo&vim
-
-" http://www.lorem-ipsum-dolor-sit-amet.com/lorem-ipsum-dolor-sit-amet.html
-let s:data = expand('<sfile>:p:h') .'/loremipsum.txt'
-
-
-function! s:GetWords(nwords, splitrx, join) "{{{3
-    if exists('b:loremipsum_file')
-        let file = b:loremipsum_file
-    else
-        let file = get(g:loremipsum_files, &spelllang, s:data)
-    endif
-    let text  = split(join(readfile(file), "\n"), a:splitrx)
-    let start = (localtime() * -23) % (len(text) - a:nwords)
-    let start = start < 0 ? -start : start
-    let out   = join(text[start : start + a:nwords], a:join)
-    let out   = substitute(out, '^\s*\zs\S', '\u&', '')
-    if out !~ '\.\s*$'
-        let out = substitute(out, '[[:punct:][:space:]]*$', '.', '')
-    endif
-    return out
-endf
-
-
-function! s:NoInline(flags) "{{{3
-    return get(a:flags, 0, 0)
-endf
-
-
-function! s:WrapMarker(marker, text) "{{{3
-    if len(a:marker) >= 2
-        let [pre, post; flags] = a:marker
-        if type(a:text) == 1
-            if s:NoInline(flags)
-                return a:text
-            else
-                return pre . a:text . post
-            endif
-        else
-            call insert(a:text, pre)
-            call add(a:text, post)
-            return a:text
-        endif
-    else
-        return a:text
-    endif
-endf
-
-
-function! loremipsum#Generate(nwords, template) "{{{3
-    let out = s:GetWords(a:nwords, '\s\+\zs', '')
-    let paras = split(out, '\n')
-    if empty(a:template) || a:template == '*'
-        let template = get(g:loremipsum_paragraph_template, &filetype, '')
-    elseif a:template == '_'
-        let template = ''
-    else
-        let template = a:template
-    endif
-    if !empty(template)
-        call map(paras, 'v:val =~ ''\S'' ? printf(template, v:val) : v:val')
-    end
-    return paras
-endf
-
-
-function! loremipsum#GenerateInline(nwords) "{{{3
-    let out = s:GetWords(a:nwords, '[[:space:]\n]\+', ' ')
-    " let out = substitute(out, '[[:punct:][:space:]]*$', '', '')
-    " let out = substitute(out, '[.?!]\(\s*.\)', ';\L\1', 'g')
-    return out
-endf
-
-
-" :display: loremipsum#Insert(?inline=0, ?nwords=100, " ?template='', ?pre='', ?post='')
-function! loremipsum#Insert(...) "{{{3
-    let inline = a:0 >= 1 ? !empty(a:1) : 0
-    let nwords = a:0 >= 2 ? a:2 : g:loremipsum_words
-    let template = a:0 >= 3 ? a:3 : ''
-    if a:0 >= 5
-        let marker = [a:4, a:5]
-    elseif a:0 >= 4
-        if a:4 == '_'
-            let marker = []
-        else
-            echoerr 'Loremipsum: No postfix defined'
-        endif
-    else
-        let marker = get(g:loremipsum_marker, &filetype, [])
-    endif
-    " TLogVAR inline, nwords, template
-    if inline
-        let t = @t
-        try
-            let @t = s:WrapMarker(marker, loremipsum#GenerateInline(nwords))
-            norm! "tp
-        finally
-            let @t = t
-        endtry
-    else
-        let text = s:WrapMarker(marker, loremipsum#Generate(nwords, template))
-        let lno  = line('.')
-        if getline(lno) !~ '\S'
-            let lno -= 1
-        endif
-        call append(lno, text)
-        exec 'norm! '. lno .'gggq'. len(text) ."j"
-    endif
-endf
-
-
-function! loremipsum#Replace(...) "{{{3
-    let replace = a:0 >= 1 ? a:1 : ''
-    if a:0 >= 3
-        let marker = [a:2, a:3]
-    else
-        let marker = get(g:loremipsum_marker, &filetype, [])
-    endif
-    if len(marker) >= 2
-        let [pre, post; flags] = marker
-        let pre  = escape(pre, '\/')
-        let post = escape(post, '\/')
-        if s:NoInline(flags)
-            let pre  = '\^\s\*'. pre  .'\s\*\n'
-            let post = '\n\s\*'. post .'\s\*\n'
-            let replace .= "\<c-m>"
-        endif
-        let rx  = '\V'. pre .'\_.\{-}'. post
-        let rpl = escape(replace, '\&~/')
-        let sr  = @/
-        try
-            " TLogVAR rx, rpl
-            exec '%s/'. rx .'/'. rpl .'/ge'
-        finally
-            let @/ = sr
-        endtry
-    else
-        echoerr 'Loremipsum: No marker for '. &filetype
-    endif
-endf
-
-
-let &cpo = s:save_cpo
-unlet s:save_cpo
diff --git a/.vim/pack/plugins/start/loremipsum/doc/loremipsum.txt b/.vim/pack/plugins/start/loremipsum/doc/loremipsum.txt
deleted file mode 100644
index 2a8b1c019021971d2135665c19eed29f8648b21f..0000000000000000000000000000000000000000
--- a/.vim/pack/plugins/start/loremipsum/doc/loremipsum.txt
+++ /dev/null
@@ -1,97 +0,0 @@
-*loremipsum.txt*    A dummy text generator
-                    Author: Thomas Link, micathom at gmail com
-
-Insert a dummy text of a certain length. Actually, the text isn't 
-generated but selected from some text. By default, the following text is 
-used, which is included in the archive:
-http://www.lorem-ipsum-dolor-sit-amet.com/lorem-ipsum-dolor-sit-amet.html
-
-NOTE: The webpage didn't contain any copyright message but there is a 
-statement that one should copy & paste the text. I thus assume it's ok 
-to include it in the archive. If not, please let me know.
-
------------------------------------------------------------------------
-Install~
-
-Edit the vba file and type: >
-
-    :so %
-
-See :help vimball for details. If you have difficulties or use vim 7.0, 
-please make sure, you have the current version of vimball (vimscript 
-#1502) installed or update your runtime.
-
-
-========================================================================
-Contents~
-
-    plugin/loremipsum.vim
-        g:loremipsum_paragraph_template ... |g:loremipsum_paragraph_template|
-        g:loremipsum_marker ............... |g:loremipsum_marker|
-        g:loremipsum_words ................ |g:loremipsum_words|
-        g:loremipsum_files ................ |g:loremipsum_files|
-        :Loremipsum ....................... |:Loremipsum|
-        :Loreplace ........................ |:Loreplace|
-    autoload/loremipsum.vim
-        loremipsum#Generate ............... |loremipsum#Generate()|
-        loremipsum#GenerateInline ......... |loremipsum#GenerateInline()|
-        loremipsum#Insert ................. |loremipsum#Insert()|
-        loremipsum#Replace ................ |loremipsum#Replace()|
-
-
-========================================================================
-plugin/loremipsum.vim~
-
-                                                    *g:loremipsum_paragraph_template*
-g:loremipsum_paragraph_template
-    A dictionary of filetypes and paragraph templates (as format 
-    strings for |printf()|).
-
-                                                    *g:loremipsum_marker*
-g:loremipsum_marker            (default: {})
-    A dictionary of filetypes and array containing the prefix and the 
-    postfix for the inserted text:
-    [prefix, postfix, no_inline?]
-
-                                                    *g:loremipsum_words*
-g:loremipsum_words             (default: 100)
-    Default length.
-
-                                                    *g:loremipsum_files*
-g:loremipsum_files             (default: {})
-                                                      *b:loremipsum_file*
-    If b:loremipsum_file exists, it will be used as source. Otherwise, 
-    g:loremipsum_files[&spelllang] will be checked. As a fallback, 
-    ~/vimfiles/autoload/loremipsum.txt will be used.
-
-                                                    *:Loremipsum*
-:Loremipsum[!] [COUNT] [PARAGRAPH_TEMPLATE] [PREFIX] [POSTFIX]
-    With [!], insert the text "inline", don't apply paragraph templates.
-    If the paragraph template is *, use the default template from 
-    |g:loremipsum_paragraph_template| (in case you want to change 
-    PREFIX and POSTFIX). If it is _, use no paragraph template.
-    If PREFIX is _, don't use markers.
-
-                                                    *:Loreplace*
-:Loreplace [REPLACEMENT] [PREFIX] [POSTFIX]
-    Replace loremipsum text with something else. Or simply remove it.
-
-
-========================================================================
-autoload/loremipsum.vim~
-
-                                                    *loremipsum#Generate()*
-loremipsum#Generate(nwords, template)
-
-                                                    *loremipsum#GenerateInline()*
-loremipsum#GenerateInline(nwords)
-
-                                                    *loremipsum#Insert()*
-loremipsum#Insert(?inline=0, ?nwords=100, " ?template='', ?pre='', ?post='')
-
-                                                    *loremipsum#Replace()*
-loremipsum#Replace(...)
-
-
-
-vim:tw=78:fo=tcq2:isk=!-~,^*,^|,^":ts=8:ft=help:norl:
diff --git a/.vim/pack/plugins/start/loremipsum/doc/tags b/.vim/pack/plugins/start/loremipsum/doc/tags
deleted file mode 100644
index 830cde7f81f9403157c25b5c8c4373b08afc64b9..0000000000000000000000000000000000000000
--- a/.vim/pack/plugins/start/loremipsum/doc/tags
+++ /dev/null
@@ -1,12 +0,0 @@
-:Loremipsum	loremipsum.txt	/*:Loremipsum*
-:Loreplace	loremipsum.txt	/*:Loreplace*
-b:loremipsum_file	loremipsum.txt	/*b:loremipsum_file*
-g:loremipsum_files	loremipsum.txt	/*g:loremipsum_files*
-g:loremipsum_marker	loremipsum.txt	/*g:loremipsum_marker*
-g:loremipsum_paragraph_template	loremipsum.txt	/*g:loremipsum_paragraph_template*
-g:loremipsum_words	loremipsum.txt	/*g:loremipsum_words*
-loremipsum#Generate()	loremipsum.txt	/*loremipsum#Generate()*
-loremipsum#GenerateInline()	loremipsum.txt	/*loremipsum#GenerateInline()*
-loremipsum#Insert()	loremipsum.txt	/*loremipsum#Insert()*
-loremipsum#Replace()	loremipsum.txt	/*loremipsum#Replace()*
-loremipsum.txt	loremipsum.txt	/*loremipsum.txt*
diff --git a/.vim/pack/plugins/start/loremipsum/plugin/loremipsum.vim b/.vim/pack/plugins/start/loremipsum/plugin/loremipsum.vim
deleted file mode 100644
index 620f3867de18812c7946277f1a49322de4b0ef15..0000000000000000000000000000000000000000
--- a/.vim/pack/plugins/start/loremipsum/plugin/loremipsum.vim
+++ /dev/null
@@ -1,85 +0,0 @@
-" loremipsum.vim
-" @Author:      Thomas Link (micathom AT gmail com?subject=[vim])
-" @Website:     http://www.vim.org/account/profile.php?user_id=4037
-" @License:     GPL (see http://www.gnu.org/licenses/gpl.txt)
-" @Created:     2008-07-10.
-" @Last Change: 2008-07-11.
-" @Revision:    66
-" GetLatestVimScripts: 2289 0 loremipsum.vim
-
-if &cp || exists("loaded_loremipsum")
-    finish
-endif
-let loaded_loremipsum = 2
-
-let s:save_cpo = &cpo
-set cpo&vim
-
-if !exists('g:loremipsum_paragraph_template')
-    " A dictionary of filetypes and paragraph templates (as format 
-    " strings for |printf()|).
-    " :nodefault:
-    " :read: let g:loremipsum_paragraph_template = {} "{{{2
-    let g:loremipsum_paragraph_template = {
-                \ 'html': '<p>%s</p>',
-                \ 'php': '<p>%s</p>',
-                \ }
-endif
-
-if !exists('g:loremipsum_marker')
-    " A dictionary of filetypes and array containing the prefix and the 
-    " postfix for the inserted text:
-    " [prefix, postfix, no_inline?]
-    " :read: let g:loremipsum_marker = {}  "{{{2
-    let g:loremipsum_marker = {
-                \ 'html': ['<!--lorem-->', '<!--/lorem-->', 0],
-                \ 'php': ['<!--lorem-->', '<!--/lorem-->', 0],
-                \ 'tex': ['% lorem{{{', '% lorem}}}', 1],
-                \ 'viki': ['% lorem{{{', '% lorem}}}', 1],
-                \ }
-endif
-
-if !exists('g:loremipsum_words')
-    " Default length.
-    let g:loremipsum_words = 100   "{{{2
-endif
-
-if !exists('g:loremipsum_files')
-    "                                                 *b:loremipsum_file*
-    " If b:loremipsum_file exists, it will be used as source. Otherwise, 
-    " g:loremipsum_files[&spelllang] will be checked. As a fallback, 
-    " .../autoload/loremipsum.txt will be used.
-    let g:loremipsum_files = {}   "{{{2
-endif
-
-
-" :display: :Loremipsum[!] [COUNT] [PARAGRAPH_TEMPLATE] [PREFIX POSTFIX]
-" With [!], insert the text "inline", don't apply paragraph templates.
-" If the PARAGRAPH_TEMPLATE is *, use the default template from 
-" |g:loremipsum_paragraph_template| (in case you want to change 
-" PREFIX and POSTFIX). If it is _, use no paragraph template.
-" If PREFIX is _, don't use markers.
-command! -bang -nargs=* Loremipsum call loremipsum#Insert("<bang>", <f-args>)
-
-" Replace loremipsum text with something else. Or simply remove it.
-" :display: :Loreplace [REPLACEMENT] [PREFIX] [POSTFIX]
-command! -nargs=* Loreplace call loremipsum#Replace(<f-args>)
-
-
-let &cpo = s:save_cpo
-unlet s:save_cpo
-
-
-finish
-CHANGES:
-0.1
-- Initial release
-
-0.2
-- Loremipsum!: With !, insert inline (single paragraph)
-- If the template argument is *, don't apply the default paragraph 
-template.
-- Loreplace: Replace loremipsum text with something else (provided a 
-marker was defined for the current filetype)
-- g:loremipsum_file, b:loremipsum_file
-
diff --git a/.vim/pack/plugins/start/ropemode b/.vim/pack/plugins/start/ropemode
deleted file mode 160000
index 67e70302bf4a617ec7fc5891071c969e6451d1e4..0000000000000000000000000000000000000000
--- a/.vim/pack/plugins/start/ropemode
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 67e70302bf4a617ec7fc5891071c969e6451d1e4
diff --git a/.vim/pack/plugins/start/ropevim b/.vim/pack/plugins/start/ropevim
deleted file mode 160000
index 86d9d63a520372463c5430e91eda1cf71af221b0..0000000000000000000000000000000000000000
--- a/.vim/pack/plugins/start/ropevim
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 86d9d63a520372463c5430e91eda1cf71af221b0
diff --git a/.vim/pack/plugins/start/simplyfold b/.vim/pack/plugins/start/simplyfold
deleted file mode 160000
index aa0371d9d708388f3ba385ccc67a7504586a20d9..0000000000000000000000000000000000000000
--- a/.vim/pack/plugins/start/simplyfold
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit aa0371d9d708388f3ba385ccc67a7504586a20d9
diff --git a/.vim/pack/plugins/start/tender b/.vim/pack/plugins/start/tender
deleted file mode 160000
index 19b5067d623ab5d74fa0b42a6ce9aa345e708b27..0000000000000000000000000000000000000000
--- a/.vim/pack/plugins/start/tender
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 19b5067d623ab5d74fa0b42a6ce9aa345e708b27
diff --git a/.vim/pack/plugins/start/vim-rhubarb b/.vim/pack/plugins/start/vim-rhubarb
deleted file mode 160000
index 75ad917e4978b4620c3b0eff1722880d2d53a9f4..0000000000000000000000000000000000000000
--- a/.vim/pack/plugins/start/vim-rhubarb
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 75ad917e4978b4620c3b0eff1722880d2d53a9f4
diff --git a/.vim/pack/plugins/start/vim-slime b/.vim/pack/plugins/start/vim-slime
deleted file mode 160000
index dc8ca22cef3f87999d926e18e2e230145e013838..0000000000000000000000000000000000000000
--- a/.vim/pack/plugins/start/vim-slime
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit dc8ca22cef3f87999d926e18e2e230145e013838
diff --git a/.vim/pack/plugins/start/vim-surround b/.vim/pack/plugins/start/vim-surround
deleted file mode 160000
index fab8621670f71637e9960003af28365129b1dfd0..0000000000000000000000000000000000000000
--- a/.vim/pack/plugins/start/vim-surround
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit fab8621670f71637e9960003af28365129b1dfd0
diff --git a/.vim/pack/plugins/start/vim-vividchalk b/.vim/pack/plugins/start/vim-vividchalk
deleted file mode 160000
index f52ae250297f4267c7681a42dbddfce85b63e8dc..0000000000000000000000000000000000000000
--- a/.vim/pack/plugins/start/vim-vividchalk
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit f52ae250297f4267c7681a42dbddfce85b63e8dc
diff --git a/.vim/pack/plugins/start/vimwiki b/.vim/pack/plugins/start/vimwiki
deleted file mode 160000
index 57d23fa763b498561aca7eb4efb05b52efd120c9..0000000000000000000000000000000000000000
--- a/.vim/pack/plugins/start/vimwiki
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 57d23fa763b498561aca7eb4efb05b52efd120c9
diff --git a/.vim/pack/plugins/tags b/.vim/pack/plugins/tags
deleted file mode 100644
index 4d1e46061720776bf68691163b127c99ae04d6e3..0000000000000000000000000000000000000000
--- a/.vim/pack/plugins/tags
+++ /dev/null
@@ -1,1111 +0,0 @@
-'b:syntastic_<checker>_exec'	start/syntastic/doc/syntastic.txt	/*'b:syntastic_<checker>_exec'*
-'b:syntastic_ada_cflags'	start/syntastic/doc/syntastic-checkers.txt	/*'b:syntastic_ada_cflags'*
-'b:syntastic_asm_cflags'	start/syntastic/doc/syntastic-checkers.txt	/*'b:syntastic_asm_cflags'*
-'b:syntastic_c_cflags'	start/syntastic/doc/syntastic-checkers.txt	/*'b:syntastic_c_cflags'*
-'b:syntastic_checkers'	start/syntastic/doc/syntastic.txt	/*'b:syntastic_checkers'*
-'b:syntastic_cobol_cflags'	start/syntastic/doc/syntastic-checkers.txt	/*'b:syntastic_cobol_cflags'*
-'b:syntastic_cpp_cflags'	start/syntastic/doc/syntastic-checkers.txt	/*'b:syntastic_cpp_cflags'*
-'b:syntastic_d_cflags'	start/syntastic/doc/syntastic-checkers.txt	/*'b:syntastic_d_cflags'*
-'b:syntastic_fortran_cflags'	start/syntastic/doc/syntastic-checkers.txt	/*'b:syntastic_fortran_cflags'*
-'b:syntastic_mode'	start/syntastic/doc/syntastic.txt	/*'b:syntastic_mode'*
-'b:syntastic_objc_cflags'	start/syntastic/doc/syntastic-checkers.txt	/*'b:syntastic_objc_cflags'*
-'b:syntastic_objcpp_cflags'	start/syntastic/doc/syntastic-checkers.txt	/*'b:syntastic_objcpp_cflags'*
-'b:syntastic_skip_checks'	start/syntastic/doc/syntastic.txt	/*'b:syntastic_skip_checks'*
-'b:syntastic_verilog_cflags'	start/syntastic/doc/syntastic-checkers.txt	/*'b:syntastic_verilog_cflags'*
-'b:vaxe_hxml'	start/syntastic/doc/syntastic-checkers.txt	/*'b:vaxe_hxml'*
-'g:syntastic_<filetype>_checkers'	start/syntastic/doc/syntastic.txt	/*'g:syntastic_<filetype>_checkers'*
-'g:syntastic_ada_check_header'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_ada_check_header'*
-'g:syntastic_ada_compiler'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_ada_compiler'*
-'g:syntastic_ada_compiler_options'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_ada_compiler_options'*
-'g:syntastic_ada_config_file'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_ada_config_file'*
-'g:syntastic_ada_errorformat'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_ada_errorformat'*
-'g:syntastic_ada_include_dirs'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_ada_include_dirs'*
-'g:syntastic_ada_remove_include_errors'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_ada_remove_include_errors'*
-'g:syntastic_asm_compiler'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_asm_compiler'*
-'g:syntastic_asm_compiler_options'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_asm_compiler_options'*
-'g:syntastic_asm_config_file'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_asm_config_file'*
-'g:syntastic_asm_dialect'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_asm_dialect'*
-'g:syntastic_asm_errorformat'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_asm_errorformat'*
-'g:syntastic_asm_include_dirs'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_asm_include_dirs'*
-'g:syntastic_asm_remove_include_errors'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_asm_remove_include_errors'*
-'g:syntastic_avrgcc_config_file'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_avrgcc_config_file'*
-'g:syntastic_c_auto_refresh_includes'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_c_auto_refresh_includes'*
-'g:syntastic_c_check_header'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_c_check_header'*
-'g:syntastic_c_compiler'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_c_compiler'*
-'g:syntastic_c_compiler_options'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_c_compiler_options'*
-'g:syntastic_c_config_file'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_c_config_file'*
-'g:syntastic_c_errorformat'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_c_errorformat'*
-'g:syntastic_c_flawfinder_thres'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_c_flawfinder_thres'*
-'g:syntastic_c_include_dirs'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_c_include_dirs'*
-'g:syntastic_c_no_default_include_dirs'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_c_no_default_include_dirs'*
-'g:syntastic_c_no_include_search'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_c_no_include_search'*
-'g:syntastic_c_remove_include_errors'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_c_remove_include_errors'*
-'g:syntastic_clang_check_config_file'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_clang_check_config_file'*
-'g:syntastic_clang_tidy_config_file'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_clang_tidy_config_file'*
-'g:syntastic_cobol_compiler'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_cobol_compiler'*
-'g:syntastic_cobol_compiler_options'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_cobol_compiler_options'*
-'g:syntastic_cobol_config_file'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_cobol_config_file'*
-'g:syntastic_cobol_errorformat'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_cobol_errorformat'*
-'g:syntastic_cobol_include_dirs'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_cobol_include_dirs'*
-'g:syntastic_cobol_remove_include_errors'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_cobol_remove_include_errors'*
-'g:syntastic_cpp_auto_refresh_includes'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_cpp_auto_refresh_includes'*
-'g:syntastic_cpp_check_header'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_cpp_check_header'*
-'g:syntastic_cpp_compiler'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_cpp_compiler'*
-'g:syntastic_cpp_compiler_options'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_cpp_compiler_options'*
-'g:syntastic_cpp_config_file'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_cpp_config_file'*
-'g:syntastic_cpp_cpplint_args'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_cpp_cpplint_args'*
-'g:syntastic_cpp_cpplint_thres'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_cpp_cpplint_thres'*
-'g:syntastic_cpp_errorformat'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_cpp_errorformat'*
-'g:syntastic_cpp_flawfinder_thres'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_cpp_flawfinder_thres'*
-'g:syntastic_cpp_include_dirs'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_cpp_include_dirs'*
-'g:syntastic_cpp_no_default_include_dirs'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_cpp_no_default_include_dirs'*
-'g:syntastic_cpp_no_include_search'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_cpp_no_include_search'*
-'g:syntastic_cpp_remove_include_errors'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_cpp_remove_include_errors'*
-'g:syntastic_cppcheck_config_file'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_cppcheck_config_file'*
-'g:syntastic_cuda_check_header'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_cuda_check_header'*
-'g:syntastic_cuda_config_file'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_cuda_config_file'*
-'g:syntastic_d_check_header'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_d_check_header'*
-'g:syntastic_d_compiler'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_d_compiler'*
-'g:syntastic_d_compiler_options'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_d_compiler_options'*
-'g:syntastic_d_config_file'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_d_config_file'*
-'g:syntastic_d_dub_exec'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_d_dub_exec'*
-'g:syntastic_d_errorformat'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_d_errorformat'*
-'g:syntastic_d_include_dirs'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_d_include_dirs'*
-'g:syntastic_d_remove_include_errors'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_d_remove_include_errors'*
-'g:syntastic_d_use_dub'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_d_use_dub'*
-'g:syntastic_fortran_compiler'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_fortran_compiler'*
-'g:syntastic_fortran_compiler_options'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_fortran_compiler_options'*
-'g:syntastic_fortran_config_file'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_fortran_config_file'*
-'g:syntastic_fortran_errorformat'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_fortran_errorformat'*
-'g:syntastic_fortran_include_dirs'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_fortran_include_dirs'*
-'g:syntastic_fortran_remove_include_errors'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_fortran_remove_include_errors'*
-'g:syntastic_glsl_extensions'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_glsl_extensions'*
-'g:syntastic_glsl_options'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_glsl_options'*
-'g:syntastic_go_go_build_args'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_go_go_build_args'*
-'g:syntastic_go_go_test_args'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_go_go_test_args'*
-'g:syntastic_html_tidy_blocklevel_tags'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_html_tidy_blocklevel_tags'*
-'g:syntastic_html_tidy_empty_tags'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_html_tidy_empty_tags'*
-'g:syntastic_html_tidy_ignore_errors'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_html_tidy_ignore_errors'*
-'g:syntastic_html_tidy_inline_tags'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_html_tidy_inline_tags'*
-'g:syntastic_html_validator_api'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_html_validator_api'*
-'g:syntastic_html_validator_exec'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_html_validator_exec'*
-'g:syntastic_html_validator_nsfilter'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_html_validator_nsfilter'*
-'g:syntastic_html_validator_parser'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_html_validator_parser'*
-'g:syntastic_html_validator_schema'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_html_validator_schema'*
-'g:syntastic_html_w3_api'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_html_w3_api'*
-'g:syntastic_html_w3_doctype'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_html_w3_doctype'*
-'g:syntastic_html_w3_exec'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_html_w3_exec'*
-'g:syntastic_java_checkstyle_classpath'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_java_checkstyle_classpath'*
-'g:syntastic_java_checkstyle_conf_file'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_java_checkstyle_conf_file'*
-'g:syntastic_java_checkstyle_exec'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_java_checkstyle_exec'*
-'g:syntastic_java_javac_autoload_maven_classpath'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_java_javac_autoload_maven_classpath'*
-'g:syntastic_java_javac_classpath'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_java_javac_classpath'*
-'g:syntastic_java_javac_config_file'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_java_javac_config_file'*
-'g:syntastic_java_javac_config_file_enabled'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_java_javac_config_file_enabled'*
-'g:syntastic_java_javac_custom_classpath_command'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_java_javac_custom_classpath_command'*
-'g:syntastic_java_javac_delete_output'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_java_javac_delete_output'*
-'g:syntastic_java_javac_executable'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_java_javac_executable'*
-'g:syntastic_java_javac_options'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_java_javac_options'*
-'g:syntastic_java_maven_executable'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_java_maven_executable'*
-'g:syntastic_javascript_closurecompiler_path'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_javascript_closurecompiler_path'*
-'g:syntastic_javascript_closurecompiler_script'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_javascript_closurecompiler_script'*
-'g:syntastic_javascript_standard_generic'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_javascript_standard_generic'*
-'g:syntastic_less_use_less_lint'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_less_use_less_lint'*
-'g:syntastic_objc_check_header'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_objc_check_header'*
-'g:syntastic_objc_compiler'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_objc_compiler'*
-'g:syntastic_objc_compiler_options'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_objc_compiler_options'*
-'g:syntastic_objc_config_file'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_objc_config_file'*
-'g:syntastic_objc_errorformat'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_objc_errorformat'*
-'g:syntastic_objc_include_dirs'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_objc_include_dirs'*
-'g:syntastic_objc_no_default_include_dirs'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_objc_no_default_include_dirs'*
-'g:syntastic_objc_remove_include_errors'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_objc_remove_include_errors'*
-'g:syntastic_objcpp_check_header'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_objcpp_check_header'*
-'g:syntastic_objcpp_compiler'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_objcpp_compiler'*
-'g:syntastic_objcpp_compiler_options'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_objcpp_compiler_options'*
-'g:syntastic_objcpp_config_file'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_objcpp_config_file'*
-'g:syntastic_objcpp_errorformat'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_objcpp_errorformat'*
-'g:syntastic_objcpp_include_dirs'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_objcpp_include_dirs'*
-'g:syntastic_objcpp_no_default_include_dirs'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_objcpp_no_default_include_dirs'*
-'g:syntastic_objcpp_remove_include_errors'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_objcpp_remove_include_errors'*
-'g:syntastic_ocaml_camlp4r'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_ocaml_camlp4r'*
-'g:syntastic_ocaml_janestreet_core_dir'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_ocaml_janestreet_core_dir'*
-'g:syntastic_ocaml_use_janestreet_core'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_ocaml_use_janestreet_core'*
-'g:syntastic_ocaml_use_ocamlbuild'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_ocaml_use_ocamlbuild'*
-'g:syntastic_ocaml_use_ocamlc'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_ocaml_use_ocamlc'*
-'g:syntastic_pc_lint_config_file'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_pc_lint_config_file'*
-'g:syntastic_perl6_lib_path'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_perl6_lib_path'*
-'g:syntastic_perl_interpreter'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_perl_interpreter'*
-'g:syntastic_perl_lib_path'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_perl_lib_path'*
-'g:syntastic_perl_perlcritic_thres'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_perl_perlcritic_thres'*
-'g:syntastic_python_python_use_codec'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_python_python_use_codec'*
-'g:syntastic_r_lintr_cache'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_r_lintr_cache'*
-'g:syntastic_r_lintr_linters'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_r_lintr_linters'*
-'g:syntastic_rst_sphinx_config_dir'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_rst_sphinx_config_dir'*
-'g:syntastic_rst_sphinx_source_dir'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_rst_sphinx_source_dir'*
-'g:syntastic_ruby_exec'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_ruby_exec'*
-'g:syntastic_ruby_flog_threshold_error'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_ruby_flog_threshold_error'*
-'g:syntastic_ruby_flog_threshold_warning'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_ruby_flog_threshold_warning'*
-'g:syntastic_scala_scalastyle_config_file'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_scala_scalastyle_config_file'*
-'g:syntastic_scala_scalastyle_exec'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_scala_scalastyle_exec'*
-'g:syntastic_scala_scalastyle_jar'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_scala_scalastyle_jar'*
-'g:syntastic_sparse_config_file'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_sparse_config_file'*
-'g:syntastic_splint_config_file'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_splint_config_file'*
-'g:syntastic_svg_validator_api'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_svg_validator_api'*
-'g:syntastic_svg_validator_exec'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_svg_validator_exec'*
-'g:syntastic_svg_validator_nsfilter'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_svg_validator_nsfilter'*
-'g:syntastic_svg_validator_parser'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_svg_validator_parser'*
-'g:syntastic_svg_validator_schema'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_svg_validator_schema'*
-'g:syntastic_svg_w3_api'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_svg_w3_api'*
-'g:syntastic_svg_w3_doctype'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_svg_w3_doctype'*
-'g:syntastic_svg_w3_exec'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_svg_w3_exec'*
-'g:syntastic_tex_chktex_showmsgs'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_tex_chktex_showmsgs'*
-'g:syntastic_vala_modules'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_vala_modules'*
-'g:syntastic_vala_vapi_dirs'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_vala_vapi_dirs'*
-'g:syntastic_verapp_config_file'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_verapp_config_file'*
-'g:syntastic_verilog_compiler'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_verilog_compiler'*
-'g:syntastic_verilog_compiler_options'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_verilog_compiler_options'*
-'g:syntastic_verilog_config_file'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_verilog_config_file'*
-'g:syntastic_verilog_errorformat'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_verilog_errorformat'*
-'g:syntastic_verilog_include_dirs'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_verilog_include_dirs'*
-'g:syntastic_verilog_remove_include_errors'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_verilog_remove_include_errors'*
-'g:syntastic_vimlint_options'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_vimlint_options'*
-'g:syntastic_xhtml_tidy_ignore_errors'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_xhtml_tidy_ignore_errors'*
-'g:syntastic_xhtml_validator_api'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_xhtml_validator_api'*
-'g:syntastic_xhtml_validator_exec'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_xhtml_validator_exec'*
-'g:syntastic_xhtml_validator_nsfilter'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_xhtml_validator_nsfilter'*
-'g:syntastic_xhtml_validator_parser'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_xhtml_validator_parser'*
-'g:syntastic_xhtml_validator_schema'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_xhtml_validator_schema'*
-'g:syntastic_xhtml_w3_api'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_xhtml_w3_api'*
-'g:syntastic_xhtml_w3_doctype'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_xhtml_w3_doctype'*
-'g:syntastic_xhtml_w3_exec'	start/syntastic/doc/syntastic-checkers.txt	/*'g:syntastic_xhtml_w3_exec'*
-'g:vaxe_hxml'	start/syntastic/doc/syntastic-checkers.txt	/*'g:vaxe_hxml'*
-'syntastic_<filetype>_<checker>_<option>'	start/syntastic/doc/syntastic.txt	/*'syntastic_<filetype>_<checker>_<option>'*
-'syntastic_<filetype>_<checker>_exe'	start/syntastic/doc/syntastic.txt	/*'syntastic_<filetype>_<checker>_exe'*
-'syntastic_<filetype>_<checker>_exec'	start/syntastic/doc/syntastic.txt	/*'syntastic_<filetype>_<checker>_exec'*
-'syntastic_<filetype>_<checker>_fname'	start/syntastic/doc/syntastic.txt	/*'syntastic_<filetype>_<checker>_fname'*
-'syntastic_<filetype>_<checker>_quiet_messages'	start/syntastic/doc/syntastic.txt	/*'syntastic_<filetype>_<checker>_quiet_messages'*
-'syntastic_<filetype>_<checker>_sort'	start/syntastic/doc/syntastic.txt	/*'syntastic_<filetype>_<checker>_sort'*
-'syntastic_aggregate_errors'	start/syntastic/doc/syntastic.txt	/*'syntastic_aggregate_errors'*
-'syntastic_always_populate_loc_list'	start/syntastic/doc/syntastic.txt	/*'syntastic_always_populate_loc_list'*
-'syntastic_auto_jump'	start/syntastic/doc/syntastic.txt	/*'syntastic_auto_jump'*
-'syntastic_auto_loc_list'	start/syntastic/doc/syntastic.txt	/*'syntastic_auto_loc_list'*
-'syntastic_check_on_open'	start/syntastic/doc/syntastic.txt	/*'syntastic_check_on_open'*
-'syntastic_check_on_wq'	start/syntastic/doc/syntastic.txt	/*'syntastic_check_on_wq'*
-'syntastic_cursor_columns'	start/syntastic/doc/syntastic.txt	/*'syntastic_cursor_columns'*
-'syntastic_debug'	start/syntastic/doc/syntastic.txt	/*'syntastic_debug'*
-'syntastic_debug_file'	start/syntastic/doc/syntastic.txt	/*'syntastic_debug_file'*
-'syntastic_echo_current_error'	start/syntastic/doc/syntastic.txt	/*'syntastic_echo_current_error'*
-'syntastic_enable_balloons'	start/syntastic/doc/syntastic.txt	/*'syntastic_enable_balloons'*
-'syntastic_enable_highlighting'	start/syntastic/doc/syntastic.txt	/*'syntastic_enable_highlighting'*
-'syntastic_enable_signs'	start/syntastic/doc/syntastic.txt	/*'syntastic_enable_signs'*
-'syntastic_error_symbol'	start/syntastic/doc/syntastic.txt	/*'syntastic_error_symbol'*
-'syntastic_exit_checks'	start/syntastic/doc/syntastic.txt	/*'syntastic_exit_checks'*
-'syntastic_extra_filetypes'	start/syntastic/doc/syntastic.txt	/*'syntastic_extra_filetypes'*
-'syntastic_filetype_map'	start/syntastic/doc/syntastic.txt	/*'syntastic_filetype_map'*
-'syntastic_full_redraws'	start/syntastic/doc/syntastic.txt	/*'syntastic_full_redraws'*
-'syntastic_id_checkers'	start/syntastic/doc/syntastic.txt	/*'syntastic_id_checkers'*
-'syntastic_ignore_files'	start/syntastic/doc/syntastic.txt	/*'syntastic_ignore_files'*
-'syntastic_loc_list_height'	start/syntastic/doc/syntastic.txt	/*'syntastic_loc_list_height'*
-'syntastic_mode_map'	start/syntastic/doc/syntastic.txt	/*'syntastic_mode_map'*
-'syntastic_nested_autocommands'	start/syntastic/doc/syntastic.txt	/*'syntastic_nested_autocommands'*
-'syntastic_quiet_messages'	start/syntastic/doc/syntastic.txt	/*'syntastic_quiet_messages'*
-'syntastic_shell'	start/syntastic/doc/syntastic.txt	/*'syntastic_shell'*
-'syntastic_sort_aggregated_errors'	start/syntastic/doc/syntastic.txt	/*'syntastic_sort_aggregated_errors'*
-'syntastic_stl_format'	start/syntastic/doc/syntastic.txt	/*'syntastic_stl_format'*
-'syntastic_style_error_symbol'	start/syntastic/doc/syntastic.txt	/*'syntastic_style_error_symbol'*
-'syntastic_style_warning_symbol'	start/syntastic/doc/syntastic.txt	/*'syntastic_style_warning_symbol'*
-'syntastic_warning_symbol'	start/syntastic/doc/syntastic.txt	/*'syntastic_warning_symbol'*
-/syntastic/	start/syntastic/doc/syntastic.txt	/*\/syntastic\/*
-:Errors	start/syntastic/doc/syntastic.txt	/*:Errors*
-:Gblame	start/fugitive/doc/fugitive.txt	/*:Gblame*
-:Gbrowse	start/fugitive/doc/fugitive.txt	/*:Gbrowse*
-:Gcd	start/fugitive/doc/fugitive.txt	/*:Gcd*
-:Gcgrep	start/fugitive/doc/fugitive.txt	/*:Gcgrep*
-:Gclog	start/fugitive/doc/fugitive.txt	/*:Gclog*
-:Gcommit	start/fugitive/doc/fugitive.txt	/*:Gcommit*
-:Gdelete	start/fugitive/doc/fugitive.txt	/*:Gdelete*
-:Gdiffsplit	start/fugitive/doc/fugitive.txt	/*:Gdiffsplit*
-:Gdiffsplit!	start/fugitive/doc/fugitive.txt	/*:Gdiffsplit!*
-:Gedit	start/fugitive/doc/fugitive.txt	/*:Gedit*
-:Gfetch	start/fugitive/doc/fugitive.txt	/*:Gfetch*
-:Ggrep	start/fugitive/doc/fugitive.txt	/*:Ggrep*
-:Ghdiffsplit	start/fugitive/doc/fugitive.txt	/*:Ghdiffsplit*
-:Git	start/fugitive/doc/fugitive.txt	/*:Git*
-:Git!	start/fugitive/doc/fugitive.txt	/*:Git!*
-:Git-blame	start/fugitive/doc/fugitive.txt	/*:Git-blame*
-:Git-commit	start/fugitive/doc/fugitive.txt	/*:Git-commit*
-:Git-fetch	start/fugitive/doc/fugitive.txt	/*:Git-fetch*
-:Git-grep	start/fugitive/doc/fugitive.txt	/*:Git-grep*
-:Git-merge	start/fugitive/doc/fugitive.txt	/*:Git-merge*
-:Git-pull	start/fugitive/doc/fugitive.txt	/*:Git-pull*
-:Git-push	start/fugitive/doc/fugitive.txt	/*:Git-push*
-:Git-rebase	start/fugitive/doc/fugitive.txt	/*:Git-rebase*
-:Git-revert	start/fugitive/doc/fugitive.txt	/*:Git-revert*
-:Glcd	start/fugitive/doc/fugitive.txt	/*:Glcd*
-:Glgrep	start/fugitive/doc/fugitive.txt	/*:Glgrep*
-:Gllog	start/fugitive/doc/fugitive.txt	/*:Gllog*
-:Glog	start/fugitive/doc/fugitive.txt	/*:Glog*
-:Gmerge	start/fugitive/doc/fugitive.txt	/*:Gmerge*
-:Gmove	start/fugitive/doc/fugitive.txt	/*:Gmove*
-:Gpedit	start/fugitive/doc/fugitive.txt	/*:Gpedit*
-:Gpedit!	start/fugitive/doc/fugitive.txt	/*:Gpedit!*
-:Gpull	start/fugitive/doc/fugitive.txt	/*:Gpull*
-:Gpush	start/fugitive/doc/fugitive.txt	/*:Gpush*
-:Gread	start/fugitive/doc/fugitive.txt	/*:Gread*
-:Gread!	start/fugitive/doc/fugitive.txt	/*:Gread!*
-:Grebase	start/fugitive/doc/fugitive.txt	/*:Grebase*
-:Gremove	start/fugitive/doc/fugitive.txt	/*:Gremove*
-:Grename	start/fugitive/doc/fugitive.txt	/*:Grename*
-:Grevert	start/fugitive/doc/fugitive.txt	/*:Grevert*
-:Gsdiff	start/fugitive/doc/fugitive.txt	/*:Gsdiff*
-:Gsplit	start/fugitive/doc/fugitive.txt	/*:Gsplit*
-:Gsplit!	start/fugitive/doc/fugitive.txt	/*:Gsplit!*
-:Gstatus	start/fugitive/doc/fugitive.txt	/*:Gstatus*
-:Gtabedit	start/fugitive/doc/fugitive.txt	/*:Gtabedit*
-:Gtabedit!	start/fugitive/doc/fugitive.txt	/*:Gtabedit!*
-:Gvdiffsplit	start/fugitive/doc/fugitive.txt	/*:Gvdiffsplit*
-:Gvsplit	start/fugitive/doc/fugitive.txt	/*:Gvsplit*
-:Gvsplit!	start/fugitive/doc/fugitive.txt	/*:Gvsplit!*
-:Gwq	start/fugitive/doc/fugitive.txt	/*:Gwq*
-:Gwrite	start/fugitive/doc/fugitive.txt	/*:Gwrite*
-:Loremipsum	start/loremipsum/doc/loremipsum.txt	/*:Loremipsum*
-:Loreplace	start/loremipsum/doc/loremipsum.txt	/*:Loreplace*
-:Pyimport	start/jedi-vim/doc/jedi-vim.txt	/*:Pyimport*
-:SlimeConfig	start/vim-slime/doc/vim-slime.txt	/*:SlimeConfig*
-:SlimeSend	start/vim-slime/doc/vim-slime.txt	/*:SlimeSend*
-:SlimeSend1	start/vim-slime/doc/vim-slime.txt	/*:SlimeSend1*
-:SyntasticCheck	start/syntastic/doc/syntastic.txt	/*:SyntasticCheck*
-:SyntasticInfo	start/syntastic/doc/syntastic.txt	/*:SyntasticInfo*
-:SyntasticJavacEditClasspath	start/syntastic/doc/syntastic-checkers.txt	/*:SyntasticJavacEditClasspath*
-:SyntasticJavacEditConfig	start/syntastic/doc/syntastic-checkers.txt	/*:SyntasticJavacEditConfig*
-:SyntasticReset	start/syntastic/doc/syntastic.txt	/*:SyntasticReset*
-:SyntasticSetLoclist	start/syntastic/doc/syntastic.txt	/*:SyntasticSetLoclist*
-:SyntasticToggleMode	start/syntastic/doc/syntastic.txt	/*:SyntasticToggleMode*
-:VWB	start/vimwiki/doc/vimwiki.txt	/*:VWB*
-:VWS	start/vimwiki/doc/vimwiki.txt	/*:VWS*
-:Vimwiki2HTML	start/vimwiki/doc/vimwiki.txt	/*:Vimwiki2HTML*
-:Vimwiki2HTMLBrowse	start/vimwiki/doc/vimwiki.txt	/*:Vimwiki2HTMLBrowse*
-:VimwikiAll2HTML	start/vimwiki/doc/vimwiki.txt	/*:VimwikiAll2HTML*
-:VimwikiBacklinks	start/vimwiki/doc/vimwiki.txt	/*:VimwikiBacklinks*
-:VimwikiCheckLinks	start/vimwiki/doc/vimwiki.txt	/*:VimwikiCheckLinks*
-:VimwikiDeleteLink	start/vimwiki/doc/vimwiki.txt	/*:VimwikiDeleteLink*
-:VimwikiDiaryGenerateLinks	start/vimwiki/doc/vimwiki.txt	/*:VimwikiDiaryGenerateLinks*
-:VimwikiDiaryIndex	start/vimwiki/doc/vimwiki.txt	/*:VimwikiDiaryIndex*
-:VimwikiDiaryNextDay	start/vimwiki/doc/vimwiki.txt	/*:VimwikiDiaryNextDay*
-:VimwikiDiaryPrevDay	start/vimwiki/doc/vimwiki.txt	/*:VimwikiDiaryPrevDay*
-:VimwikiFollowLink	start/vimwiki/doc/vimwiki.txt	/*:VimwikiFollowLink*
-:VimwikiGenerateLinks	start/vimwiki/doc/vimwiki.txt	/*:VimwikiGenerateLinks*
-:VimwikiGenerateTags	start/vimwiki/doc/vimwiki.txt	/*:VimwikiGenerateTags*
-:VimwikiGoBackLink	start/vimwiki/doc/vimwiki.txt	/*:VimwikiGoBackLink*
-:VimwikiGoto	start/vimwiki/doc/vimwiki.txt	/*:VimwikiGoto*
-:VimwikiIndex	start/vimwiki/doc/vimwiki.txt	/*:VimwikiIndex*
-:VimwikiListChangeLevel	start/vimwiki/doc/vimwiki.txt	/*:VimwikiListChangeLevel*
-:VimwikiMakeDiaryNote	start/vimwiki/doc/vimwiki.txt	/*:VimwikiMakeDiaryNote*
-:VimwikiMakeTomorrowDiaryNote	start/vimwiki/doc/vimwiki.txt	/*:VimwikiMakeTomorrowDiaryNote*
-:VimwikiMakeYesterdayDiaryNote	start/vimwiki/doc/vimwiki.txt	/*:VimwikiMakeYesterdayDiaryNote*
-:VimwikiNextLink	start/vimwiki/doc/vimwiki.txt	/*:VimwikiNextLink*
-:VimwikiPrevLink	start/vimwiki/doc/vimwiki.txt	/*:VimwikiPrevLink*
-:VimwikiRebuildTags	start/vimwiki/doc/vimwiki.txt	/*:VimwikiRebuildTags*
-:VimwikiRenameLink	start/vimwiki/doc/vimwiki.txt	/*:VimwikiRenameLink*
-:VimwikiSearch	start/vimwiki/doc/vimwiki.txt	/*:VimwikiSearch*
-:VimwikiSearchTags	start/vimwiki/doc/vimwiki.txt	/*:VimwikiSearchTags*
-:VimwikiSplitLink	start/vimwiki/doc/vimwiki.txt	/*:VimwikiSplitLink*
-:VimwikiTOC	start/vimwiki/doc/vimwiki.txt	/*:VimwikiTOC*
-:VimwikiTabIndex	start/vimwiki/doc/vimwiki.txt	/*:VimwikiTabIndex*
-:VimwikiTabMakeDiaryNote	start/vimwiki/doc/vimwiki.txt	/*:VimwikiTabMakeDiaryNote*
-:VimwikiTable	start/vimwiki/doc/vimwiki.txt	/*:VimwikiTable*
-:VimwikiTableMoveColumnLeft	start/vimwiki/doc/vimwiki.txt	/*:VimwikiTableMoveColumnLeft*
-:VimwikiTableMoveColumnRight	start/vimwiki/doc/vimwiki.txt	/*:VimwikiTableMoveColumnRight*
-:VimwikiTabnewLink	start/vimwiki/doc/vimwiki.txt	/*:VimwikiTabnewLink*
-:VimwikiToggleListItem	start/vimwiki/doc/vimwiki.txt	/*:VimwikiToggleListItem*
-:VimwikiToggleRejectedListItem	start/vimwiki/doc/vimwiki.txt	/*:VimwikiToggleRejectedListItem*
-:VimwikiUISelect	start/vimwiki/doc/vimwiki.txt	/*:VimwikiUISelect*
-:VimwikiVSplitLink	start/vimwiki/doc/vimwiki.txt	/*:VimwikiVSplitLink*
-<c-c><c-c>	start/vim-slime/doc/vim-slime.txt	/*<c-c><c-c>*
-<c-c>v	start/vim-slime/doc/vim-slime.txt	/*<c-c>v*
-CTRL-C_CTRL-C	start/vim-slime/doc/vim-slime.txt	/*CTRL-C_CTRL-C*
-CTRL-C_v	start/vim-slime/doc/vim-slime.txt	/*CTRL-C_v*
-FugitiveHead(...)	start/fugitive/doc/fugitive.txt	/*FugitiveHead(...)*
-FugitiveStatusline()	start/fugitive/doc/fugitive.txt	/*FugitiveStatusline()*
-SimpylFold	start/simplyfold/doc/SimpylFold.txt	/*SimpylFold*
-SimpylFold-bugs	start/simplyfold/doc/SimpylFold.txt	/*SimpylFold-bugs*
-SimpylFold-configuration	start/simplyfold/doc/SimpylFold.txt	/*SimpylFold-configuration*
-SimpylFold-usage	start/simplyfold/doc/SimpylFold.txt	/*SimpylFold-usage*
-SimpylFold.txt	start/simplyfold/doc/SimpylFold.txt	/*SimpylFold.txt*
-SyntasticCheckHook()	start/syntastic/doc/syntastic.txt	/*SyntasticCheckHook()*
-VimwikiLinkConverter	start/vimwiki/doc/vimwiki.txt	/*VimwikiLinkConverter*
-VimwikiLinkHandler	start/vimwiki/doc/vimwiki.txt	/*VimwikiLinkHandler*
-VimwikiWikiIncludeHandler	start/vimwiki/doc/vimwiki.txt	/*VimwikiWikiIncludeHandler*
-b:loremipsum_file	start/loremipsum/doc/loremipsum.txt	/*b:loremipsum_file*
-cS	start/vim-surround/doc/surround.txt	/*cS*
-cs	start/vim-surround/doc/surround.txt	/*cs*
-ds	start/vim-surround/doc/surround.txt	/*ds*
-filter-overrides	start/syntastic/doc/syntastic.txt	/*filter-overrides*
-fugitive	start/fugitive/doc/fugitive.txt	/*fugitive*
-fugitive#head(...)	start/fugitive/doc/fugitive.txt	/*fugitive#head(...)*
-fugitive#statusline()	start/fugitive/doc/fugitive.txt	/*fugitive#statusline()*
-fugitive-:G	start/fugitive/doc/fugitive.txt	/*fugitive-:G*
-fugitive-:Ge	start/fugitive/doc/fugitive.txt	/*fugitive-:Ge*
-fugitive-:Gr	start/fugitive/doc/fugitive.txt	/*fugitive-:Gr*
-fugitive-:Gr!	start/fugitive/doc/fugitive.txt	/*fugitive-:Gr!*
-fugitive-:Gw	start/fugitive/doc/fugitive.txt	/*fugitive-:Gw*
-fugitive-about	start/fugitive/doc/fugitive.txt	/*fugitive-about*
-fugitive-commands	start/fugitive/doc/fugitive.txt	/*fugitive-commands*
-fugitive-gitlab	start/fugitive-gitlab/doc/fugitive-gitlab.txt	/*fugitive-gitlab*
-fugitive-gitlab-about	start/fugitive-gitlab/doc/fugitive-gitlab.txt	/*fugitive-gitlab-about*
-fugitive-gitlab-commands	start/fugitive-gitlab/doc/fugitive-gitlab.txt	/*fugitive-gitlab-commands*
-fugitive-gitlab-config	start/fugitive-gitlab/doc/fugitive-gitlab.txt	/*fugitive-gitlab-config*
-fugitive-gitlab.txt	start/fugitive-gitlab/doc/fugitive-gitlab.txt	/*fugitive-gitlab.txt*
-fugitive-global-maps	start/fugitive/doc/fugitive.txt	/*fugitive-global-maps*
-fugitive-maps	start/fugitive/doc/fugitive.txt	/*fugitive-maps*
-fugitive-misc-maps	start/fugitive/doc/fugitive.txt	/*fugitive-misc-maps*
-fugitive-navigation-maps	start/fugitive/doc/fugitive.txt	/*fugitive-navigation-maps*
-fugitive-object	start/fugitive/doc/fugitive.txt	/*fugitive-object*
-fugitive-revision	start/fugitive/doc/fugitive.txt	/*fugitive-revision*
-fugitive-staging-maps	start/fugitive/doc/fugitive.txt	/*fugitive-staging-maps*
-fugitive-statusline	start/fugitive/doc/fugitive.txt	/*fugitive-statusline*
-fugitive.txt	start/fugitive/doc/fugitive.txt	/*fugitive.txt*
-fugitive_#	start/fugitive/doc/fugitive.txt	/*fugitive_#*
-fugitive_(	start/fugitive/doc/fugitive.txt	/*fugitive_(*
-fugitive_)	start/fugitive/doc/fugitive.txt	/*fugitive_)*
-fugitive_-	start/fugitive/doc/fugitive.txt	/*fugitive_-*
-fugitive_.	start/fugitive/doc/fugitive.txt	/*fugitive_.*
-fugitive_<	start/fugitive/doc/fugitive.txt	/*fugitive_<*
-fugitive_<CR>	start/fugitive/doc/fugitive.txt	/*fugitive_<CR>*
-fugitive_=	start/fugitive/doc/fugitive.txt	/*fugitive_=*
-fugitive_>	start/fugitive/doc/fugitive.txt	/*fugitive_>*
-fugitive_C	start/fugitive/doc/fugitive.txt	/*fugitive_C*
-fugitive_CTRL-N	start/fugitive/doc/fugitive.txt	/*fugitive_CTRL-N*
-fugitive_CTRL-P	start/fugitive/doc/fugitive.txt	/*fugitive_CTRL-P*
-fugitive_I	start/fugitive/doc/fugitive.txt	/*fugitive_I*
-fugitive_O	start/fugitive/doc/fugitive.txt	/*fugitive_O*
-fugitive_P	start/fugitive/doc/fugitive.txt	/*fugitive_P*
-fugitive_U	start/fugitive/doc/fugitive.txt	/*fugitive_U*
-fugitive_X	start/fugitive/doc/fugitive.txt	/*fugitive_X*
-fugitive_[/	start/fugitive/doc/fugitive.txt	/*fugitive_[\/*
-fugitive_[[	start/fugitive/doc/fugitive.txt	/*fugitive_[[*
-fugitive_[]	start/fugitive/doc/fugitive.txt	/*fugitive_[]*
-fugitive_[c	start/fugitive/doc/fugitive.txt	/*fugitive_[c*
-fugitive_[m	start/fugitive/doc/fugitive.txt	/*fugitive_[m*
-fugitive_]/	start/fugitive/doc/fugitive.txt	/*fugitive_]\/*
-fugitive_][	start/fugitive/doc/fugitive.txt	/*fugitive_][*
-fugitive_]]	start/fugitive/doc/fugitive.txt	/*fugitive_]]*
-fugitive_]c	start/fugitive/doc/fugitive.txt	/*fugitive_]c*
-fugitive_]m	start/fugitive/doc/fugitive.txt	/*fugitive_]m*
-fugitive_c	start/fugitive/doc/fugitive.txt	/*fugitive_c*
-fugitive_c_CTRL-R_CTRL-G	start/fugitive/doc/fugitive.txt	/*fugitive_c_CTRL-R_CTRL-G*
-fugitive_cb	start/fugitive/doc/fugitive.txt	/*fugitive_cb*
-fugitive_cm	start/fugitive/doc/fugitive.txt	/*fugitive_cm*
-fugitive_co	start/fugitive/doc/fugitive.txt	/*fugitive_co*
-fugitive_cr	start/fugitive/doc/fugitive.txt	/*fugitive_cr*
-fugitive_cz	start/fugitive/doc/fugitive.txt	/*fugitive_cz*
-fugitive_d	start/fugitive/doc/fugitive.txt	/*fugitive_d*
-fugitive_d?	start/fugitive/doc/fugitive.txt	/*fugitive_d?*
-fugitive_dd	start/fugitive/doc/fugitive.txt	/*fugitive_dd*
-fugitive_dh	start/fugitive/doc/fugitive.txt	/*fugitive_dh*
-fugitive_dp	start/fugitive/doc/fugitive.txt	/*fugitive_dp*
-fugitive_dq	start/fugitive/doc/fugitive.txt	/*fugitive_dq*
-fugitive_ds	start/fugitive/doc/fugitive.txt	/*fugitive_ds*
-fugitive_dv	start/fugitive/doc/fugitive.txt	/*fugitive_dv*
-fugitive_g?	start/fugitive/doc/fugitive.txt	/*fugitive_g?*
-fugitive_gI	start/fugitive/doc/fugitive.txt	/*fugitive_gI*
-fugitive_gO	start/fugitive/doc/fugitive.txt	/*fugitive_gO*
-fugitive_gP	start/fugitive/doc/fugitive.txt	/*fugitive_gP*
-fugitive_gU	start/fugitive/doc/fugitive.txt	/*fugitive_gU*
-fugitive_gi	start/fugitive/doc/fugitive.txt	/*fugitive_gi*
-fugitive_gp	start/fugitive/doc/fugitive.txt	/*fugitive_gp*
-fugitive_gq	start/fugitive/doc/fugitive.txt	/*fugitive_gq*
-fugitive_gr	start/fugitive/doc/fugitive.txt	/*fugitive_gr*
-fugitive_gs	start/fugitive/doc/fugitive.txt	/*fugitive_gs*
-fugitive_gu	start/fugitive/doc/fugitive.txt	/*fugitive_gu*
-fugitive_i	start/fugitive/doc/fugitive.txt	/*fugitive_i*
-fugitive_o	start/fugitive/doc/fugitive.txt	/*fugitive_o*
-fugitive_p	start/fugitive/doc/fugitive.txt	/*fugitive_p*
-fugitive_q	start/fugitive/doc/fugitive.txt	/*fugitive_q*
-fugitive_r	start/fugitive/doc/fugitive.txt	/*fugitive_r*
-fugitive_s	start/fugitive/doc/fugitive.txt	/*fugitive_s*
-fugitive_star	start/fugitive/doc/fugitive.txt	/*fugitive_star*
-fugitive_u	start/fugitive/doc/fugitive.txt	/*fugitive_u*
-fugitive_y_CTRL-G	start/fugitive/doc/fugitive.txt	/*fugitive_y_CTRL-G*
-fugitive_~	start/fugitive/doc/fugitive.txt	/*fugitive_~*
-g:fugitive_no_maps	start/fugitive/doc/fugitive.txt	/*g:fugitive_no_maps*
-g:jedi#auto_close_doc	start/jedi-vim/doc/jedi-vim.txt	/*g:jedi#auto_close_doc*
-g:jedi#auto_initialization	start/jedi-vim/doc/jedi-vim.txt	/*g:jedi#auto_initialization*
-g:jedi#auto_vim_configuration	start/jedi-vim/doc/jedi-vim.txt	/*g:jedi#auto_vim_configuration*
-g:jedi#completions_command	start/jedi-vim/doc/jedi-vim.txt	/*g:jedi#completions_command*
-g:jedi#completions_enabled	start/jedi-vim/doc/jedi-vim.txt	/*g:jedi#completions_enabled*
-g:jedi#documentation_command	start/jedi-vim/doc/jedi-vim.txt	/*g:jedi#documentation_command*
-g:jedi#force_py_version	start/jedi-vim/doc/jedi-vim.txt	/*g:jedi#force_py_version*
-g:jedi#goto_assignments_command	start/jedi-vim/doc/jedi-vim.txt	/*g:jedi#goto_assignments_command*
-g:jedi#goto_command	start/jedi-vim/doc/jedi-vim.txt	/*g:jedi#goto_command*
-g:jedi#goto_definitions_command	start/jedi-vim/doc/jedi-vim.txt	/*g:jedi#goto_definitions_command*
-g:jedi#popup_on_dot	start/jedi-vim/doc/jedi-vim.txt	/*g:jedi#popup_on_dot*
-g:jedi#popup_select_first	start/jedi-vim/doc/jedi-vim.txt	/*g:jedi#popup_select_first*
-g:jedi#rename_command	start/jedi-vim/doc/jedi-vim.txt	/*g:jedi#rename_command*
-g:jedi#show_call_signatures	start/jedi-vim/doc/jedi-vim.txt	/*g:jedi#show_call_signatures*
-g:jedi#show_call_signatures_delay	start/jedi-vim/doc/jedi-vim.txt	/*g:jedi#show_call_signatures_delay*
-g:jedi#smart_auto_mappings	start/jedi-vim/doc/jedi-vim.txt	/*g:jedi#smart_auto_mappings*
-g:jedi#squelch_py_warning	start/jedi-vim/doc/jedi-vim.txt	/*g:jedi#squelch_py_warning*
-g:jedi#usages_command	start/jedi-vim/doc/jedi-vim.txt	/*g:jedi#usages_command*
-g:jedi#use_splits_not_buffers	start/jedi-vim/doc/jedi-vim.txt	/*g:jedi#use_splits_not_buffers*
-g:jedi#use_tabs_not_buffers	start/jedi-vim/doc/jedi-vim.txt	/*g:jedi#use_tabs_not_buffers*
-g:jedi#use_tag_stack	start/jedi-vim/doc/jedi-vim.txt	/*g:jedi#use_tag_stack*
-g:loremipsum_files	start/loremipsum/doc/loremipsum.txt	/*g:loremipsum_files*
-g:loremipsum_marker	start/loremipsum/doc/loremipsum.txt	/*g:loremipsum_marker*
-g:loremipsum_paragraph_template	start/loremipsum/doc/loremipsum.txt	/*g:loremipsum_paragraph_template*
-g:loremipsum_words	start/loremipsum/doc/loremipsum.txt	/*g:loremipsum_words*
-g:slime_default_config	start/vim-slime/doc/vim-slime.txt	/*g:slime_default_config*
-g:slime_dont_ask_default	start/vim-slime/doc/vim-slime.txt	/*g:slime_dont_ask_default*
-g:slime_no_mappings	start/vim-slime/doc/vim-slime.txt	/*g:slime_no_mappings*
-g:slime_paste_file	start/vim-slime/doc/vim-slime.txt	/*g:slime_paste_file*
-g:slime_preserve_curpos	start/vim-slime/doc/vim-slime.txt	/*g:slime_preserve_curpos*
-g:slime_target	start/vim-slime/doc/vim-slime.txt	/*g:slime_target*
-g:vimwiki_CJK_length	start/vimwiki/doc/vimwiki.txt	/*g:vimwiki_CJK_length*
-g:vimwiki_auto_chdir	start/vimwiki/doc/vimwiki.txt	/*g:vimwiki_auto_chdir*
-g:vimwiki_autowriteall	start/vimwiki/doc/vimwiki.txt	/*g:vimwiki_autowriteall*
-g:vimwiki_conceallevel	start/vimwiki/doc/vimwiki.txt	/*g:vimwiki_conceallevel*
-g:vimwiki_diary_months	start/vimwiki/doc/vimwiki.txt	/*g:vimwiki_diary_months*
-g:vimwiki_dir_link	start/vimwiki/doc/vimwiki.txt	/*g:vimwiki_dir_link*
-g:vimwiki_ext2syntax	start/vimwiki/doc/vimwiki.txt	/*g:vimwiki_ext2syntax*
-g:vimwiki_folding	start/vimwiki/doc/vimwiki.txt	/*g:vimwiki_folding*
-g:vimwiki_global_ext	start/vimwiki/doc/vimwiki.txt	/*g:vimwiki_global_ext*
-g:vimwiki_hl_cb_checked	start/vimwiki/doc/vimwiki.txt	/*g:vimwiki_hl_cb_checked*
-g:vimwiki_hl_headers	start/vimwiki/doc/vimwiki.txt	/*g:vimwiki_hl_headers*
-g:vimwiki_html_header_numbering	start/vimwiki/doc/vimwiki.txt	/*g:vimwiki_html_header_numbering*
-g:vimwiki_html_header_numbering_sym	start/vimwiki/doc/vimwiki.txt	/*g:vimwiki_html_header_numbering_sym*
-g:vimwiki_list	start/vimwiki/doc/vimwiki.txt	/*g:vimwiki_list*
-g:vimwiki_list_ignore_newline	start/vimwiki/doc/vimwiki.txt	/*g:vimwiki_list_ignore_newline*
-g:vimwiki_listsym_rejected	start/vimwiki/doc/vimwiki.txt	/*g:vimwiki_listsym_rejected*
-g:vimwiki_listsyms	start/vimwiki/doc/vimwiki.txt	/*g:vimwiki_listsyms*
-g:vimwiki_map_prefix	start/vimwiki/doc/vimwiki.txt	/*g:vimwiki_map_prefix*
-g:vimwiki_menu	start/vimwiki/doc/vimwiki.txt	/*g:vimwiki_menu*
-g:vimwiki_table_auto_fmt	start/vimwiki/doc/vimwiki.txt	/*g:vimwiki_table_auto_fmt*
-g:vimwiki_table_mappings	start/vimwiki/doc/vimwiki.txt	/*g:vimwiki_table_mappings*
-g:vimwiki_text_ignore_newline	start/vimwiki/doc/vimwiki.txt	/*g:vimwiki_text_ignore_newline*
-g:vimwiki_toc_header	start/vimwiki/doc/vimwiki.txt	/*g:vimwiki_toc_header*
-g:vimwiki_url_maxsave	start/vimwiki/doc/vimwiki.txt	/*g:vimwiki_url_maxsave*
-g:vimwiki_use_calendar	start/vimwiki/doc/vimwiki.txt	/*g:vimwiki_use_calendar*
-g:vimwiki_use_mouse	start/vimwiki/doc/vimwiki.txt	/*g:vimwiki_use_mouse*
-g:vimwiki_user_htmls	start/vimwiki/doc/vimwiki.txt	/*g:vimwiki_user_htmls*
-g:vimwiki_valid_html_tags	start/vimwiki/doc/vimwiki.txt	/*g:vimwiki_valid_html_tags*
-g:vimwiki_w32_dir_enc	start/vimwiki/doc/vimwiki.txt	/*g:vimwiki_w32_dir_enc*
-i_CTRL-G_S	start/vim-surround/doc/surround.txt	/*i_CTRL-G_S*
-i_CTRL-G_s	start/vim-surround/doc/surround.txt	/*i_CTRL-G_s*
-jedi-vim-configuration	start/jedi-vim/doc/jedi-vim.txt	/*jedi-vim-configuration*
-jedi-vim-contents	start/jedi-vim/doc/jedi-vim.txt	/*jedi-vim-contents*
-jedi-vim-contributing	start/jedi-vim/doc/jedi-vim.txt	/*jedi-vim-contributing*
-jedi-vim-installation	start/jedi-vim/doc/jedi-vim.txt	/*jedi-vim-installation*
-jedi-vim-installation-manually	start/jedi-vim/doc/jedi-vim.txt	/*jedi-vim-installation-manually*
-jedi-vim-installation-pathogen	start/jedi-vim/doc/jedi-vim.txt	/*jedi-vim-installation-pathogen*
-jedi-vim-installation-repos	start/jedi-vim/doc/jedi-vim.txt	/*jedi-vim-installation-repos*
-jedi-vim-installation-requirements	start/jedi-vim/doc/jedi-vim.txt	/*jedi-vim-installation-requirements*
-jedi-vim-installation-vundle	start/jedi-vim/doc/jedi-vim.txt	/*jedi-vim-installation-vundle*
-jedi-vim-introduction	start/jedi-vim/doc/jedi-vim.txt	/*jedi-vim-introduction*
-jedi-vim-keybindings	start/jedi-vim/doc/jedi-vim.txt	/*jedi-vim-keybindings*
-jedi-vim-license	start/jedi-vim/doc/jedi-vim.txt	/*jedi-vim-license*
-jedi-vim-support	start/jedi-vim/doc/jedi-vim.txt	/*jedi-vim-support*
-jedi-vim-testing	start/jedi-vim/doc/jedi-vim.txt	/*jedi-vim-testing*
-jedi-vim-usage	start/jedi-vim/doc/jedi-vim.txt	/*jedi-vim-usage*
-jedi-vim.txt	start/jedi-vim/doc/jedi-vim.txt	/*jedi-vim.txt*
-loremipsum#Generate()	start/loremipsum/doc/loremipsum.txt	/*loremipsum#Generate()*
-loremipsum#GenerateInline()	start/loremipsum/doc/loremipsum.txt	/*loremipsum#GenerateInline()*
-loremipsum#Insert()	start/loremipsum/doc/loremipsum.txt	/*loremipsum#Insert()*
-loremipsum#Replace()	start/loremipsum/doc/loremipsum.txt	/*loremipsum#Replace()*
-loremipsum.txt	start/loremipsum/doc/loremipsum.txt	/*loremipsum.txt*
-rhubarb-about	start/vim-rhubarb/doc/rhubarb.txt	/*rhubarb-about*
-rhubarb.txt	start/vim-rhubarb/doc/rhubarb.txt	/*rhubarb.txt*
-slime	start/vim-slime/doc/vim-slime.txt	/*slime*
-slime-author	start/vim-slime/doc/vim-slime.txt	/*slime-author*
-slime-configuration	start/vim-slime/doc/vim-slime.txt	/*slime-configuration*
-slime-kitty	start/vim-slime/doc/vim-slime.txt	/*slime-kitty*
-slime-neovim	start/vim-slime/doc/vim-slime.txt	/*slime-neovim*
-slime-requirements	start/vim-slime/doc/vim-slime.txt	/*slime-requirements*
-slime-screen	start/vim-slime/doc/vim-slime.txt	/*slime-screen*
-slime-tmux	start/vim-slime/doc/vim-slime.txt	/*slime-tmux*
-slime-usage	start/vim-slime/doc/vim-slime.txt	/*slime-usage*
-slime-vimterminal	start/vim-slime/doc/vim-slime.txt	/*slime-vimterminal*
-slime-whimrepl	start/vim-slime/doc/vim-slime.txt	/*slime-whimrepl*
-slime.txt	start/vim-slime/doc/vim-slime.txt	/*slime.txt*
-surround	start/vim-surround/doc/surround.txt	/*surround*
-surround-customizing	start/vim-surround/doc/surround.txt	/*surround-customizing*
-surround-issues	start/vim-surround/doc/surround.txt	/*surround-issues*
-surround-mappings	start/vim-surround/doc/surround.txt	/*surround-mappings*
-surround-replacements	start/vim-surround/doc/surround.txt	/*surround-replacements*
-surround-targets	start/vim-surround/doc/surround.txt	/*surround-targets*
-surround.txt	start/vim-surround/doc/surround.txt	/*surround.txt*
-syntastic	start/syntastic/doc/syntastic.txt	/*syntastic*
-syntastic-about	start/syntastic/doc/syntastic.txt	/*syntastic-about*
-syntastic-actionscript-mxmlc	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-actionscript-mxmlc*
-syntastic-ada-gcc	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-ada-gcc*
-syntastic-aggregating-errors	start/syntastic/doc/syntastic.txt	/*syntastic-aggregating-errors*
-syntastic-airline	start/syntastic/doc/syntastic.txt	/*syntastic-airline*
-syntastic-ansible-ansible_lint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-ansible-ansible_lint*
-syntastic-apiblueprint-drafter	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-apiblueprint-drafter*
-syntastic-applescript-osacompile	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-applescript-osacompile*
-syntastic-asciidoc-asciidoc	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-asciidoc-asciidoc*
-syntastic-asciidoc-proselint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-asciidoc-proselint*
-syntastic-asl-iasl	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-asl-iasl*
-syntastic-asm-gcc	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-asm-gcc*
-syntastic-bemhtml-bemhtmllint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-bemhtml-bemhtmllint*
-syntastic-bro-bro	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-bro-bro*
-syntastic-c-avrgcc	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-c-avrgcc*
-syntastic-c-checkpatch	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-c-checkpatch*
-syntastic-c-clang_check	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-c-clang_check*
-syntastic-c-clang_tidy	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-c-clang_tidy*
-syntastic-c-cppcheck	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-c-cppcheck*
-syntastic-c-cppclean	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-c-cppclean*
-syntastic-c-flawfinder	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-c-flawfinder*
-syntastic-c-gcc	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-c-gcc*
-syntastic-c-make	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-c-make*
-syntastic-c-oclint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-c-oclint*
-syntastic-c-pc_lint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-c-pc_lint*
-syntastic-c-sparse	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-c-sparse*
-syntastic-c-splint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-c-splint*
-syntastic-cabal-cabal	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-cabal-cabal*
-syntastic-checker-options	start/syntastic/doc/syntastic.txt	/*syntastic-checker-options*
-syntastic-checkers	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers*
-syntastic-checkers-actionscript	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-actionscript*
-syntastic-checkers-ada	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-ada*
-syntastic-checkers-ansible	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-ansible*
-syntastic-checkers-apiblueprint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-apiblueprint*
-syntastic-checkers-applescript	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-applescript*
-syntastic-checkers-asciidoc	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-asciidoc*
-syntastic-checkers-asl	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-asl*
-syntastic-checkers-asm	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-asm*
-syntastic-checkers-bemhtml	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-bemhtml*
-syntastic-checkers-bro	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-bro*
-syntastic-checkers-c	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-c*
-syntastic-checkers-cabal	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-cabal*
-syntastic-checkers-chef	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-chef*
-syntastic-checkers-cmake	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-cmake*
-syntastic-checkers-co	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-co*
-syntastic-checkers-cobol	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-cobol*
-syntastic-checkers-coffee	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-coffee*
-syntastic-checkers-coq	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-coq*
-syntastic-checkers-cpp	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-cpp*
-syntastic-checkers-cs	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-cs*
-syntastic-checkers-css	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-css*
-syntastic-checkers-cucumber	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-cucumber*
-syntastic-checkers-cuda	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-cuda*
-syntastic-checkers-d	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-d*
-syntastic-checkers-dart	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-dart*
-syntastic-checkers-docbk	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-docbk*
-syntastic-checkers-dockerfile	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-dockerfile*
-syntastic-checkers-dustjs	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-dustjs*
-syntastic-checkers-elixir	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-elixir*
-syntastic-checkers-erlang	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-erlang*
-syntastic-checkers-eruby	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-eruby*
-syntastic-checkers-fortran	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-fortran*
-syntastic-checkers-gentoo	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-gentoo*
-syntastic-checkers-glsl	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-glsl*
-syntastic-checkers-go	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-go*
-syntastic-checkers-haml	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-haml*
-syntastic-checkers-handlebars	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-handlebars*
-syntastic-checkers-haskell	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-haskell*
-syntastic-checkers-haxe	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-haxe*
-syntastic-checkers-help	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-help*
-syntastic-checkers-hss	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-hss*
-syntastic-checkers-html	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-html*
-syntastic-checkers-java	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-java*
-syntastic-checkers-javascript	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-javascript*
-syntastic-checkers-json	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-json*
-syntastic-checkers-julia	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-julia*
-syntastic-checkers-lang	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-lang*
-syntastic-checkers-less	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-less*
-syntastic-checkers-lex	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-lex*
-syntastic-checkers-limbo	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-limbo*
-syntastic-checkers-lisp	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-lisp*
-syntastic-checkers-llvm	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-llvm*
-syntastic-checkers-lua	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-lua*
-syntastic-checkers-markdown	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-markdown*
-syntastic-checkers-matlab	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-matlab*
-syntastic-checkers-mercury	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-mercury*
-syntastic-checkers-nasm	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-nasm*
-syntastic-checkers-nix	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-nix*
-syntastic-checkers-nroff	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-nroff*
-syntastic-checkers-objc	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-objc*
-syntastic-checkers-objcpp	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-objcpp*
-syntastic-checkers-ocaml	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-ocaml*
-syntastic-checkers-perl	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-perl*
-syntastic-checkers-perl6	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-perl6*
-syntastic-checkers-php	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-php*
-syntastic-checkers-po	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-po*
-syntastic-checkers-pod	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-pod*
-syntastic-checkers-pug	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-pug*
-syntastic-checkers-puppet	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-puppet*
-syntastic-checkers-python	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-python*
-syntastic-checkers-qml	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-qml*
-syntastic-checkers-r	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-r*
-syntastic-checkers-racket	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-racket*
-syntastic-checkers-rmd	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-rmd*
-syntastic-checkers-rnc	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-rnc*
-syntastic-checkers-rst	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-rst*
-syntastic-checkers-ruby	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-ruby*
-syntastic-checkers-sass	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-sass*
-syntastic-checkers-scala	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-scala*
-syntastic-checkers-scss	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-scss*
-syntastic-checkers-sh	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-sh*
-syntastic-checkers-slim	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-slim*
-syntastic-checkers-sml	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-sml*
-syntastic-checkers-solidity	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-solidity*
-syntastic-checkers-spec	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-spec*
-syntastic-checkers-sql	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-sql*
-syntastic-checkers-stylus	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-stylus*
-syntastic-checkers-svg	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-svg*
-syntastic-checkers-tcl	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-tcl*
-syntastic-checkers-tex	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-tex*
-syntastic-checkers-texinfo	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-texinfo*
-syntastic-checkers-text	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-text*
-syntastic-checkers-trig	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-trig*
-syntastic-checkers-turtle	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-turtle*
-syntastic-checkers-twig	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-twig*
-syntastic-checkers-typescript	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-typescript*
-syntastic-checkers-vala	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-vala*
-syntastic-checkers-verilog	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-verilog*
-syntastic-checkers-vhdl	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-vhdl*
-syntastic-checkers-vim	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-vim*
-syntastic-checkers-vue	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-vue*
-syntastic-checkers-xhtml	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-xhtml*
-syntastic-checkers-xml	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-xml*
-syntastic-checkers-xquery	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-xquery*
-syntastic-checkers-xslt	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-xslt*
-syntastic-checkers-yacc	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-yacc*
-syntastic-checkers-yaml	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-yaml*
-syntastic-checkers-yang	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-yang*
-syntastic-checkers-yara	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-yara*
-syntastic-checkers-z80	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-z80*
-syntastic-checkers-zpt	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-zpt*
-syntastic-checkers-zsh	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers-zsh*
-syntastic-checkers.txt	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-checkers.txt*
-syntastic-chef-foodcritic	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-chef-foodcritic*
-syntastic-cmake-cmakelint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-cmake-cmakelint*
-syntastic-co-coco	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-co-coco*
-syntastic-cobol-cobc	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-cobol-cobc*
-syntastic-coffee-coffee	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-coffee-coffee*
-syntastic-coffee-coffee_jshint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-coffee-coffee_jshint*
-syntastic-coffee-coffeelint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-coffee-coffeelint*
-syntastic-commands	start/syntastic/doc/syntastic.txt	/*syntastic-commands*
-syntastic-compatibility	start/syntastic/doc/syntastic.txt	/*syntastic-compatibility*
-syntastic-composite	start/syntastic/doc/syntastic.txt	/*syntastic-composite*
-syntastic-config-checkers	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-config-checkers*
-syntastic-config-debug	start/syntastic/doc/syntastic.txt	/*syntastic-config-debug*
-syntastic-config-empty	start/syntastic/doc/syntastic.txt	/*syntastic-config-empty*
-syntastic-config-exec	start/syntastic/doc/syntastic.txt	/*syntastic-config-exec*
-syntastic-config-files	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-config-files*
-syntastic-config-filtering	start/syntastic/doc/syntastic.txt	/*syntastic-config-filtering*
-syntastic-config-format	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-config-format*
-syntastic-config-location	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-config-location*
-syntastic-config-makeprg	start/syntastic/doc/syntastic.txt	/*syntastic-config-makeprg*
-syntastic-config-naming	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-config-naming*
-syntastic-config-no-makeprgbuild	start/syntastic/doc/syntastic.txt	/*syntastic-config-no-makeprgbuild*
-syntastic-config-sort	start/syntastic/doc/syntastic.txt	/*syntastic-config-sort*
-syntastic-contents	start/syntastic/doc/syntastic.txt	/*syntastic-contents*
-syntastic-coq-coqtop	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-coq-coqtop*
-syntastic-cpp-avrgcc	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-cpp-avrgcc*
-syntastic-cpp-clang_check	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-cpp-clang_check*
-syntastic-cpp-clang_tidy	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-cpp-clang_tidy*
-syntastic-cpp-cppcheck	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-cpp-cppcheck*
-syntastic-cpp-cppclean	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-cpp-cppclean*
-syntastic-cpp-cpplint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-cpp-cpplint*
-syntastic-cpp-flawfinder	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-cpp-flawfinder*
-syntastic-cpp-gcc	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-cpp-gcc*
-syntastic-cpp-oclint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-cpp-oclint*
-syntastic-cpp-pc_lint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-cpp-pc_lint*
-syntastic-cpp-verapp	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-cpp-verapp*
-syntastic-cs-mcs	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-cs-mcs*
-syntastic-csh	start/syntastic/doc/syntastic.txt	/*syntastic-csh*
-syntastic-css-csslint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-css-csslint*
-syntastic-css-mixedindentlint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-css-mixedindentlint*
-syntastic-css-phpcs	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-css-phpcs*
-syntastic-css-prettycss	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-css-prettycss*
-syntastic-css-recess	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-css-recess*
-syntastic-css-stylelint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-css-stylelint*
-syntastic-cucumber-cucumber	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-cucumber-cucumber*
-syntastic-cuda-nvcc	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-cuda-nvcc*
-syntastic-d-dmd	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-d-dmd*
-syntastic-d-dscanner	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-d-dscanner*
-syntastic-dart-dartanalyzer	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-dart-dartanalyzer*
-syntastic-debug	start/syntastic/doc/syntastic.txt	/*syntastic-debug*
-syntastic-docbk-igor	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-docbk-igor*
-syntastic-docbk-xmllint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-docbk-xmllint*
-syntastic-dockerfile-dockerfile_lint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-dockerfile-dockerfile_lint*
-syntastic-dockerfile-hadolint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-dockerfile-hadolint*
-syntastic-dustjs-swiffer	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-dustjs-swiffer*
-syntastic-easygrep	start/syntastic/doc/syntastic.txt	/*syntastic-easygrep*
-syntastic-eclim	start/syntastic/doc/syntastic.txt	/*syntastic-eclim*
-syntastic-elixir-elixir	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-elixir-elixir*
-syntastic-erlang-escript	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-erlang-escript*
-syntastic-erlang-syntaxerl	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-erlang-syntaxerl*
-syntastic-error-signs	start/syntastic/doc/syntastic.txt	/*syntastic-error-signs*
-syntastic-error-window	start/syntastic/doc/syntastic.txt	/*syntastic-error-window*
-syntastic-eruby-ruby	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-eruby-ruby*
-syntastic-ferret	start/syntastic/doc/syntastic.txt	/*syntastic-ferret*
-syntastic-filetype-checkers	start/syntastic/doc/syntastic.txt	/*syntastic-filetype-checkers*
-syntastic-filtering-errors	start/syntastic/doc/syntastic.txt	/*syntastic-filtering-errors*
-syntastic-fish	start/syntastic/doc/syntastic.txt	/*syntastic-fish*
-syntastic-fizsh	start/syntastic/doc/syntastic.txt	/*syntastic-fizsh*
-syntastic-flagship	start/syntastic/doc/syntastic.txt	/*syntastic-flagship*
-syntastic-fortran-gfortran	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-fortran-gfortran*
-syntastic-functionality	start/syntastic/doc/syntastic.txt	/*syntastic-functionality*
-syntastic-gentoo-xmllint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-gentoo-xmllint*
-syntastic-global-options	start/syntastic/doc/syntastic.txt	/*syntastic-global-options*
-syntastic-glsl-cgc	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-glsl-cgc*
-syntastic-go-go	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-go-go*
-syntastic-go-gofmt	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-go-gofmt*
-syntastic-go-golangci_lint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-go-golangci_lint*
-syntastic-go-golint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-go-golint*
-syntastic-go-gometalinter	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-go-gometalinter*
-syntastic-go-gotype	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-go-gotype*
-syntastic-go-govet	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-go-govet*
-syntastic-haml-haml	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-haml-haml*
-syntastic-haml-haml_lint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-haml-haml_lint*
-syntastic-handlebars-handlebars	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-handlebars-handlebars*
-syntastic-haskell-hdevtools	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-haskell-hdevtools*
-syntastic-haskell-hlint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-haskell-hlint*
-syntastic-haskell-scan	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-haskell-scan*
-syntastic-haxe-haxe	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-haxe-haxe*
-syntastic-help-proselint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-help-proselint*
-syntastic-highlighting	start/syntastic/doc/syntastic.txt	/*syntastic-highlighting*
-syntastic-hss-hss	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-hss-hss*
-syntastic-html-eslint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-html-eslint*
-syntastic-html-gjslint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-html-gjslint*
-syntastic-html-htmlhint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-html-htmlhint*
-syntastic-html-jshint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-html-jshint*
-syntastic-html-proselint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-html-proselint*
-syntastic-html-stylelint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-html-stylelint*
-syntastic-html-textlint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-html-textlint*
-syntastic-html-tidy	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-html-tidy*
-syntastic-html-validator	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-html-validator*
-syntastic-html-w3	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-html-w3*
-syntastic-intro	start/syntastic/doc/syntastic.txt	/*syntastic-intro*
-syntastic-java-checkstyle	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-java-checkstyle*
-syntastic-java-javac	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-java-javac*
-syntastic-javascript-closurecompiler	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-javascript-closurecompiler*
-syntastic-javascript-eslint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-javascript-eslint*
-syntastic-javascript-flow	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-javascript-flow*
-syntastic-javascript-gjslint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-javascript-gjslint*
-syntastic-javascript-jscs	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-javascript-jscs*
-syntastic-javascript-jshint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-javascript-jshint*
-syntastic-javascript-jsl	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-javascript-jsl*
-syntastic-javascript-jslint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-javascript-jslint*
-syntastic-javascript-jsxhint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-javascript-jsxhint*
-syntastic-javascript-lynt	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-javascript-lynt*
-syntastic-javascript-mixedindentlint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-javascript-mixedindentlint*
-syntastic-javascript-standard	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-javascript-standard*
-syntastic-javascript-tern_lint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-javascript-tern_lint*
-syntastic-json-jsonlint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-json-jsonlint*
-syntastic-json-jsonval	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-json-jsonval*
-syntastic-julia-lint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-julia-lint*
-syntastic-less-lessc	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-less-lessc*
-syntastic-less-recess	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-less-recess*
-syntastic-less-stylelint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-less-stylelint*
-syntastic-lex-flex	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-lex-flex*
-syntastic-license	start/syntastic/doc/syntastic.txt	/*syntastic-license*
-syntastic-limbo-limbo	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-limbo-limbo*
-syntastic-lisp-clisp	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-lisp-clisp*
-syntastic-llvm-llvm	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-llvm-llvm*
-syntastic-loclist-callback	start/syntastic/doc/syntastic.txt	/*syntastic-loclist-callback*
-syntastic-lua-luac	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-lua-luac*
-syntastic-lua-luacheck	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-lua-luacheck*
-syntastic-markdown-mdl	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-markdown-mdl*
-syntastic-markdown-proselint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-markdown-proselint*
-syntastic-markdown-remark_lint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-markdown-remark_lint*
-syntastic-markdown-textlint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-markdown-textlint*
-syntastic-matlab-mlint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-matlab-mlint*
-syntastic-mercury-mmc	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-mercury-mmc*
-syntastic-nasm-nasm	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-nasm-nasm*
-syntastic-netrw	start/syntastic/doc/syntastic.txt	/*syntastic-netrw*
-syntastic-nix-nix	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-nix-nix*
-syntastic-notes	start/syntastic/doc/syntastic.txt	/*syntastic-notes*
-syntastic-nroff-igor	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-nroff-igor*
-syntastic-nroff-mandoc	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-nroff-mandoc*
-syntastic-nroff-proselint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-nroff-proselint*
-syntastic-objc-gcc	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-objc-gcc*
-syntastic-objc-oclint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-objc-oclint*
-syntastic-objcpp-gcc	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-objcpp-gcc*
-syntastic-objcpp-oclint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-objcpp-oclint*
-syntastic-ocaml-camlp4o	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-ocaml-camlp4o*
-syntastic-perl-perl	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-perl-perl*
-syntastic-perl-perlcritic	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-perl-perlcritic*
-syntastic-perl-podchecker	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-perl-podchecker*
-syntastic-perl6-perl6	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-perl6-perl6*
-syntastic-php-php	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-php-php*
-syntastic-php-phpcs	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-php-phpcs*
-syntastic-php-phplint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-php-phplint*
-syntastic-php-phpmd	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-php-phpmd*
-syntastic-php-phpstan	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-php-phpstan*
-syntastic-po-dennis	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-po-dennis*
-syntastic-po-msgfmt	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-po-msgfmt*
-syntastic-pod-podchecker	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-pod-podchecker*
-syntastic-pod-proselint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-pod-proselint*
-syntastic-powerline	start/syntastic/doc/syntastic.txt	/*syntastic-powerline*
-syntastic-powershell	start/syntastic/doc/syntastic.txt	/*syntastic-powershell*
-syntastic-profiling	start/syntastic/doc/syntastic.txt	/*syntastic-profiling*
-syntastic-pug-pug_lint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-pug-pug_lint*
-syntastic-puppet-puppet	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-puppet-puppet*
-syntastic-puppet-puppetlint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-puppet-puppetlint*
-syntastic-pymode	start/syntastic/doc/syntastic.txt	/*syntastic-pymode*
-syntastic-python-bandit	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-python-bandit*
-syntastic-python-flake8	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-python-flake8*
-syntastic-python-frosted	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-python-frosted*
-syntastic-python-mypy	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-python-mypy*
-syntastic-python-prospector	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-python-prospector*
-syntastic-python-py3kwarn	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-python-py3kwarn*
-syntastic-python-pycodestyle	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-python-pycodestyle*
-syntastic-python-pydocstyle	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-python-pydocstyle*
-syntastic-python-pyflakes	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-python-pyflakes*
-syntastic-python-pylama	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-python-pylama*
-syntastic-python-pylint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-python-pylint*
-syntastic-python-python	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-python-python*
-syntastic-qml-qmllint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-qml-qmllint*
-syntastic-quickstart	start/syntastic/doc/syntastic.txt	/*syntastic-quickstart*
-syntastic-r-lintr	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-r-lintr*
-syntastic-r-svtools	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-r-svtools*
-syntastic-racket-code-ayatollah	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-racket-code-ayatollah*
-syntastic-racket-racket	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-racket-racket*
-syntastic-recommended	start/syntastic/doc/syntastic.txt	/*syntastic-recommended*
-syntastic-rmd-lintr	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-rmd-lintr*
-syntastic-rnc-rnv	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-rnc-rnv*
-syntastic-rst-proselint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-rst-proselint*
-syntastic-rst-rst2pseudoxml	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-rst-rst2pseudoxml*
-syntastic-rst-rstcheck	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-rst-rstcheck*
-syntastic-rst-sphinx	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-rst-sphinx*
-syntastic-ruby-flog	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-ruby-flog*
-syntastic-ruby-jruby	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-ruby-jruby*
-syntastic-ruby-macruby	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-ruby-macruby*
-syntastic-ruby-mri	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-ruby-mri*
-syntastic-ruby-reek	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-ruby-reek*
-syntastic-ruby-rubocop	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-ruby-rubocop*
-syntastic-ruby-rubylint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-ruby-rubylint*
-syntastic-sass-sass	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-sass-sass*
-syntastic-sass-sass_lint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-sass-sass_lint*
-syntastic-sass-sassc	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-sass-sassc*
-syntastic-scala-fsc	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-scala-fsc*
-syntastic-scala-scalac	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-scala-scalac*
-syntastic-scala-scalastyle	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-scala-scalastyle*
-syntastic-scss-mixedindentlint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-scss-mixedindentlint*
-syntastic-scss-sass	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-scss-sass*
-syntastic-scss-sass_lint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-scss-sass_lint*
-syntastic-scss-sassc	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-scss-sassc*
-syntastic-scss-scss_lint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-scss-scss_lint*
-syntastic-scss-stylelint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-scss-stylelint*
-syntastic-sessions	start/syntastic/doc/syntastic.txt	/*syntastic-sessions*
-syntastic-sh-bashate	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-sh-bashate*
-syntastic-sh-checkbashisms	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-sh-checkbashisms*
-syntastic-sh-sh	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-sh-sh*
-syntastic-sh-shellcheck	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-sh-shellcheck*
-syntastic-shellslash	start/syntastic/doc/syntastic.txt	/*syntastic-shellslash*
-syntastic-slim-slim_lint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-slim-slim_lint*
-syntastic-slim-slimrb	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-slim-slimrb*
-syntastic-sml-smlnj	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-sml-smlnj*
-syntastic-solidity-solc	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-solidity-solc*
-syntastic-solidity-solhint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-solidity-solhint*
-syntastic-solidity-solium	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-solidity-solium*
-syntastic-spec-rpmlint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-spec-rpmlint*
-syntastic-sql-sqlint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-sql-sqlint*
-syntastic-sql-tsqllint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-sql-tsqllint*
-syntastic-statusline-flag	start/syntastic/doc/syntastic.txt	/*syntastic-statusline-flag*
-syntastic-stylus-stylint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-stylus-stylint*
-syntastic-svg-validator	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-svg-validator*
-syntastic-svg-w3	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-svg-w3*
-syntastic-tcl-nagelfar	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-tcl-nagelfar*
-syntastic-tex-chktex	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-tex-chktex*
-syntastic-tex-lacheck	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-tex-lacheck*
-syntastic-tex-proselint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-tex-proselint*
-syntastic-texinfo-makeinfo	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-texinfo-makeinfo*
-syntastic-texinfo-proselint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-texinfo-proselint*
-syntastic-text-atdtool	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-text-atdtool*
-syntastic-text-igor	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-text-igor*
-syntastic-text-language_check	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-text-language_check*
-syntastic-text-proselint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-text-proselint*
-syntastic-text-textlint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-text-textlint*
-syntastic-trig-rapper	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-trig-rapper*
-syntastic-turtle-rapper	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-turtle-rapper*
-syntastic-turtle-ttl	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-turtle-ttl*
-syntastic-twig-twiglint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-twig-twiglint*
-syntastic-typescript-eslint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-typescript-eslint*
-syntastic-typescript-lynt	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-typescript-lynt*
-syntastic-typescript-tslint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-typescript-tslint*
-syntastic-vala-valac	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-vala-valac*
-syntastic-verilog-iverilog	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-verilog-iverilog*
-syntastic-verilog-verilator	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-verilog-verilator*
-syntastic-vhdl-ghdl	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-vhdl-ghdl*
-syntastic-vhdl-vcom	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-vhdl-vcom*
-syntastic-vim-auto-save	start/syntastic/doc/syntastic.txt	/*syntastic-vim-auto-save*
-syntastic-vim-go	start/syntastic/doc/syntastic.txt	/*syntastic-vim-go*
-syntastic-vim-vimlint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-vim-vimlint*
-syntastic-vim-vint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-vim-vint*
-syntastic-vim-virtualenv	start/syntastic/doc/syntastic.txt	/*syntastic-vim-virtualenv*
-syntastic-vue-eslint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-vue-eslint*
-syntastic-vue-pug_lint_vue	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-vue-pug_lint_vue*
-syntastic-xhtml-jshint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-xhtml-jshint*
-syntastic-xhtml-proselint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-xhtml-proselint*
-syntastic-xhtml-tidy	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-xhtml-tidy*
-syntastic-xhtml-validator	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-xhtml-validator*
-syntastic-xhtml-w3	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-xhtml-w3*
-syntastic-xml-plutil	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-xml-plutil*
-syntastic-xml-xmllint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-xml-xmllint*
-syntastic-xquery-basex	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-xquery-basex*
-syntastic-xslt-xmllint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-xslt-xmllint*
-syntastic-yacc-bison	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-yacc-bison*
-syntastic-yaml-jsyaml	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-yaml-jsyaml*
-syntastic-yaml-yamllint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-yaml-yamllint*
-syntastic-yaml-yamlxs	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-yaml-yamlxs*
-syntastic-yang-pyang	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-yang-pyang*
-syntastic-yara-yarac	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-yara-yarac*
-syntastic-ycm	start/syntastic/doc/syntastic.txt	/*syntastic-ycm*
-syntastic-z80-z80syntaxchecker	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-z80-z80syntaxchecker*
-syntastic-zpt-zptlint	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-zpt-zptlint*
-syntastic-zsh	start/syntastic/doc/syntastic.txt	/*syntastic-zsh*
-syntastic-zsh-zsh	start/syntastic/doc/syntastic-checkers.txt	/*syntastic-zsh-zsh*
-syntastic.txt	start/syntastic/doc/syntastic.txt	/*syntastic.txt*
-vS	start/vim-surround/doc/surround.txt	/*vS*
-v_<c-c><c-c>	start/vim-slime/doc/vim-slime.txt	/*v_<c-c><c-c>*
-v_CTRL-C_CTRL-C	start/vim-slime/doc/vim-slime.txt	/*v_CTRL-C_CTRL-C*
-vgS	start/vim-surround/doc/surround.txt	/*vgS*
-vimwiki	start/vimwiki/doc/vimwiki.txt	/*vimwiki*
-vimwiki-anchors	start/vimwiki/doc/vimwiki.txt	/*vimwiki-anchors*
-vimwiki-build-tags	start/vimwiki/doc/vimwiki.txt	/*vimwiki-build-tags*
-vimwiki-calendar	start/vimwiki/doc/vimwiki.txt	/*vimwiki-calendar*
-vimwiki-changelog	start/vimwiki/doc/vimwiki.txt	/*vimwiki-changelog*
-vimwiki-commands	start/vimwiki/doc/vimwiki.txt	/*vimwiki-commands*
-vimwiki-contributing	start/vimwiki/doc/vimwiki.txt	/*vimwiki-contributing*
-vimwiki-date	start/vimwiki/doc/vimwiki.txt	/*vimwiki-date*
-vimwiki-development	start/vimwiki/doc/vimwiki.txt	/*vimwiki-development*
-vimwiki-diary	start/vimwiki/doc/vimwiki.txt	/*vimwiki-diary*
-vimwiki-folding	start/vimwiki/doc/vimwiki.txt	/*vimwiki-folding*
-vimwiki-global-commands	start/vimwiki/doc/vimwiki.txt	/*vimwiki-global-commands*
-vimwiki-global-mappings	start/vimwiki/doc/vimwiki.txt	/*vimwiki-global-mappings*
-vimwiki-global-options	start/vimwiki/doc/vimwiki.txt	/*vimwiki-global-options*
-vimwiki-help	start/vimwiki/doc/vimwiki.txt	/*vimwiki-help*
-vimwiki-intro	start/vimwiki/doc/vimwiki.txt	/*vimwiki-intro*
-vimwiki-license	start/vimwiki/doc/vimwiki.txt	/*vimwiki-license*
-vimwiki-list-manipulation	start/vimwiki/doc/vimwiki.txt	/*vimwiki-list-manipulation*
-vimwiki-list-mappings	start/vimwiki/doc/vimwiki.txt	/*vimwiki-list-mappings*
-vimwiki-lists	start/vimwiki/doc/vimwiki.txt	/*vimwiki-lists*
-vimwiki-local-commands	start/vimwiki/doc/vimwiki.txt	/*vimwiki-local-commands*
-vimwiki-local-mappings	start/vimwiki/doc/vimwiki.txt	/*vimwiki-local-mappings*
-vimwiki-local-options	start/vimwiki/doc/vimwiki.txt	/*vimwiki-local-options*
-vimwiki-mappings	start/vimwiki/doc/vimwiki.txt	/*vimwiki-mappings*
-vimwiki-nohtml	start/vimwiki/doc/vimwiki.txt	/*vimwiki-nohtml*
-vimwiki-option-auto_diary_index	start/vimwiki/doc/vimwiki.txt	/*vimwiki-option-auto_diary_index*
-vimwiki-option-auto_export	start/vimwiki/doc/vimwiki.txt	/*vimwiki-option-auto_export*
-vimwiki-option-auto_tags	start/vimwiki/doc/vimwiki.txt	/*vimwiki-option-auto_tags*
-vimwiki-option-auto_toc	start/vimwiki/doc/vimwiki.txt	/*vimwiki-option-auto_toc*
-vimwiki-option-automatic_nested_syntaxes	start/vimwiki/doc/vimwiki.txt	/*vimwiki-option-automatic_nested_syntaxes*
-vimwiki-option-css_name	start/vimwiki/doc/vimwiki.txt	/*vimwiki-option-css_name*
-vimwiki-option-custom_wiki2html	start/vimwiki/doc/vimwiki.txt	/*vimwiki-option-custom_wiki2html*
-vimwiki-option-custom_wiki2html_args	start/vimwiki/doc/vimwiki.txt	/*vimwiki-option-custom_wiki2html_args*
-vimwiki-option-diary_header	start/vimwiki/doc/vimwiki.txt	/*vimwiki-option-diary_header*
-vimwiki-option-diary_index	start/vimwiki/doc/vimwiki.txt	/*vimwiki-option-diary_index*
-vimwiki-option-diary_rel_path	start/vimwiki/doc/vimwiki.txt	/*vimwiki-option-diary_rel_path*
-vimwiki-option-diary_sort	start/vimwiki/doc/vimwiki.txt	/*vimwiki-option-diary_sort*
-vimwiki-option-ext	start/vimwiki/doc/vimwiki.txt	/*vimwiki-option-ext*
-vimwiki-option-index	start/vimwiki/doc/vimwiki.txt	/*vimwiki-option-index*
-vimwiki-option-list_margin	start/vimwiki/doc/vimwiki.txt	/*vimwiki-option-list_margin*
-vimwiki-option-maxhi	start/vimwiki/doc/vimwiki.txt	/*vimwiki-option-maxhi*
-vimwiki-option-nested_syntaxes	start/vimwiki/doc/vimwiki.txt	/*vimwiki-option-nested_syntaxes*
-vimwiki-option-path	start/vimwiki/doc/vimwiki.txt	/*vimwiki-option-path*
-vimwiki-option-path_html	start/vimwiki/doc/vimwiki.txt	/*vimwiki-option-path_html*
-vimwiki-option-syntax	start/vimwiki/doc/vimwiki.txt	/*vimwiki-option-syntax*
-vimwiki-option-template_default	start/vimwiki/doc/vimwiki.txt	/*vimwiki-option-template_default*
-vimwiki-option-template_ext	start/vimwiki/doc/vimwiki.txt	/*vimwiki-option-template_ext*
-vimwiki-option-template_path	start/vimwiki/doc/vimwiki.txt	/*vimwiki-option-template_path*
-vimwiki-options	start/vimwiki/doc/vimwiki.txt	/*vimwiki-options*
-vimwiki-placeholders	start/vimwiki/doc/vimwiki.txt	/*vimwiki-placeholders*
-vimwiki-prerequisites	start/vimwiki/doc/vimwiki.txt	/*vimwiki-prerequisites*
-vimwiki-register-extension	start/vimwiki/doc/vimwiki.txt	/*vimwiki-register-extension*
-vimwiki-register-wiki	start/vimwiki/doc/vimwiki.txt	/*vimwiki-register-wiki*
-vimwiki-syntax	start/vimwiki/doc/vimwiki.txt	/*vimwiki-syntax*
-vimwiki-syntax-blockquotes	start/vimwiki/doc/vimwiki.txt	/*vimwiki-syntax-blockquotes*
-vimwiki-syntax-comments	start/vimwiki/doc/vimwiki.txt	/*vimwiki-syntax-comments*
-vimwiki-syntax-headers	start/vimwiki/doc/vimwiki.txt	/*vimwiki-syntax-headers*
-vimwiki-syntax-hr	start/vimwiki/doc/vimwiki.txt	/*vimwiki-syntax-hr*
-vimwiki-syntax-links	start/vimwiki/doc/vimwiki.txt	/*vimwiki-syntax-links*
-vimwiki-syntax-lists	start/vimwiki/doc/vimwiki.txt	/*vimwiki-syntax-lists*
-vimwiki-syntax-math	start/vimwiki/doc/vimwiki.txt	/*vimwiki-syntax-math*
-vimwiki-syntax-paragraphs	start/vimwiki/doc/vimwiki.txt	/*vimwiki-syntax-paragraphs*
-vimwiki-syntax-preformatted	start/vimwiki/doc/vimwiki.txt	/*vimwiki-syntax-preformatted*
-vimwiki-syntax-tables	start/vimwiki/doc/vimwiki.txt	/*vimwiki-syntax-tables*
-vimwiki-syntax-tags	start/vimwiki/doc/vimwiki.txt	/*vimwiki-syntax-tags*
-vimwiki-syntax-typefaces	start/vimwiki/doc/vimwiki.txt	/*vimwiki-syntax-typefaces*
-vimwiki-table-mappings	start/vimwiki/doc/vimwiki.txt	/*vimwiki-table-mappings*
-vimwiki-table-of-contents	start/vimwiki/doc/vimwiki.txt	/*vimwiki-table-of-contents*
-vimwiki-tables	start/vimwiki/doc/vimwiki.txt	/*vimwiki-tables*
-vimwiki-tagbar	start/vimwiki/doc/vimwiki.txt	/*vimwiki-tagbar*
-vimwiki-template	start/vimwiki/doc/vimwiki.txt	/*vimwiki-template*
-vimwiki-temporary-wiki	start/vimwiki/doc/vimwiki.txt	/*vimwiki-temporary-wiki*
-vimwiki-text-objects	start/vimwiki/doc/vimwiki.txt	/*vimwiki-text-objects*
-vimwiki-title	start/vimwiki/doc/vimwiki.txt	/*vimwiki-title*
-vimwiki-toc	start/vimwiki/doc/vimwiki.txt	/*vimwiki-toc*
-vimwiki-todo-lists	start/vimwiki/doc/vimwiki.txt	/*vimwiki-todo-lists*
-vimwiki.txt	start/vimwiki/doc/vimwiki.txt	/*vimwiki.txt*
-vimwiki_+	start/vimwiki/doc/vimwiki.txt	/*vimwiki_+*
-vimwiki_-	start/vimwiki/doc/vimwiki.txt	/*vimwiki_-*
-vimwiki_<A-Left>	start/vimwiki/doc/vimwiki.txt	/*vimwiki_<A-Left>*
-vimwiki_<A-Right>	start/vimwiki/doc/vimwiki.txt	/*vimwiki_<A-Right>*
-vimwiki_<Backspace>	start/vimwiki/doc/vimwiki.txt	/*vimwiki_<Backspace>*
-vimwiki_<C-CR>	start/vimwiki/doc/vimwiki.txt	/*vimwiki_<C-CR>*
-vimwiki_<C-Down>	start/vimwiki/doc/vimwiki.txt	/*vimwiki_<C-Down>*
-vimwiki_<C-S-CR>	start/vimwiki/doc/vimwiki.txt	/*vimwiki_<C-S-CR>*
-vimwiki_<C-Space>	start/vimwiki/doc/vimwiki.txt	/*vimwiki_<C-Space>*
-vimwiki_<C-Up>	start/vimwiki/doc/vimwiki.txt	/*vimwiki_<C-Up>*
-vimwiki_<CR>	start/vimwiki/doc/vimwiki.txt	/*vimwiki_<CR>*
-vimwiki_<D-CR>	start/vimwiki/doc/vimwiki.txt	/*vimwiki_<D-CR>*
-vimwiki_<Leader>w<Leader>i	start/vimwiki/doc/vimwiki.txt	/*vimwiki_<Leader>w<Leader>i*
-vimwiki_<Leader>wd	start/vimwiki/doc/vimwiki.txt	/*vimwiki_<Leader>wd*
-vimwiki_<Leader>wh	start/vimwiki/doc/vimwiki.txt	/*vimwiki_<Leader>wh*
-vimwiki_<Leader>whh	start/vimwiki/doc/vimwiki.txt	/*vimwiki_<Leader>whh*
-vimwiki_<Leader>wr	start/vimwiki/doc/vimwiki.txt	/*vimwiki_<Leader>wr*
-vimwiki_<S-CR>	start/vimwiki/doc/vimwiki.txt	/*vimwiki_<S-CR>*
-vimwiki_<S-Tab>	start/vimwiki/doc/vimwiki.txt	/*vimwiki_<S-Tab>*
-vimwiki_<Tab>	start/vimwiki/doc/vimwiki.txt	/*vimwiki_<Tab>*
-vimwiki_=	start/vimwiki/doc/vimwiki.txt	/*vimwiki_=*
-vimwiki_[=	start/vimwiki/doc/vimwiki.txt	/*vimwiki_[=*
-vimwiki_[[	start/vimwiki/doc/vimwiki.txt	/*vimwiki_[[*
-vimwiki_[u	start/vimwiki/doc/vimwiki.txt	/*vimwiki_[u*
-vimwiki_]=	start/vimwiki/doc/vimwiki.txt	/*vimwiki_]=*
-vimwiki_]]	start/vimwiki/doc/vimwiki.txt	/*vimwiki_]]*
-vimwiki_]u	start/vimwiki/doc/vimwiki.txt	/*vimwiki_]u*
-vimwiki_gL#	start/vimwiki/doc/vimwiki.txt	/*vimwiki_gL#*
-vimwiki_gL-	start/vimwiki/doc/vimwiki.txt	/*vimwiki_gL-*
-vimwiki_gL1	start/vimwiki/doc/vimwiki.txt	/*vimwiki_gL1*
-vimwiki_gL<Space>	start/vimwiki/doc/vimwiki.txt	/*vimwiki_gL<Space>*
-vimwiki_gLA	start/vimwiki/doc/vimwiki.txt	/*vimwiki_gLA*
-vimwiki_gLI	start/vimwiki/doc/vimwiki.txt	/*vimwiki_gLI*
-vimwiki_gLa	start/vimwiki/doc/vimwiki.txt	/*vimwiki_gLa*
-vimwiki_gLh	start/vimwiki/doc/vimwiki.txt	/*vimwiki_gLh*
-vimwiki_gLi	start/vimwiki/doc/vimwiki.txt	/*vimwiki_gLi*
-vimwiki_gLl	start/vimwiki/doc/vimwiki.txt	/*vimwiki_gLl*
-vimwiki_gLr	start/vimwiki/doc/vimwiki.txt	/*vimwiki_gLr*
-vimwiki_gLstar	start/vimwiki/doc/vimwiki.txt	/*vimwiki_gLstar*
-vimwiki_gl#	start/vimwiki/doc/vimwiki.txt	/*vimwiki_gl#*
-vimwiki_gl-	start/vimwiki/doc/vimwiki.txt	/*vimwiki_gl-*
-vimwiki_gl1	start/vimwiki/doc/vimwiki.txt	/*vimwiki_gl1*
-vimwiki_gl<Space>	start/vimwiki/doc/vimwiki.txt	/*vimwiki_gl<Space>*
-vimwiki_glA	start/vimwiki/doc/vimwiki.txt	/*vimwiki_glA*
-vimwiki_glI	start/vimwiki/doc/vimwiki.txt	/*vimwiki_glI*
-vimwiki_gla	start/vimwiki/doc/vimwiki.txt	/*vimwiki_gla*
-vimwiki_glh	start/vimwiki/doc/vimwiki.txt	/*vimwiki_glh*
-vimwiki_gli	start/vimwiki/doc/vimwiki.txt	/*vimwiki_gli*
-vimwiki_gll	start/vimwiki/doc/vimwiki.txt	/*vimwiki_gll*
-vimwiki_gln	start/vimwiki/doc/vimwiki.txt	/*vimwiki_gln*
-vimwiki_glp	start/vimwiki/doc/vimwiki.txt	/*vimwiki_glp*
-vimwiki_glr	start/vimwiki/doc/vimwiki.txt	/*vimwiki_glr*
-vimwiki_glstar	start/vimwiki/doc/vimwiki.txt	/*vimwiki_glstar*
-vimwiki_glx	start/vimwiki/doc/vimwiki.txt	/*vimwiki_glx*
-vimwiki_gqq	start/vimwiki/doc/vimwiki.txt	/*vimwiki_gqq*
-vimwiki_gww	start/vimwiki/doc/vimwiki.txt	/*vimwiki_gww*
-vimwiki_i_<C-D>	start/vimwiki/doc/vimwiki.txt	/*vimwiki_i_<C-D>*
-vimwiki_i_<C-L>_<C-J>	start/vimwiki/doc/vimwiki.txt	/*vimwiki_i_<C-L>_<C-J>*
-vimwiki_i_<C-L>_<C-K>	start/vimwiki/doc/vimwiki.txt	/*vimwiki_i_<C-L>_<C-K>*
-vimwiki_i_<C-L>_<C-M>	start/vimwiki/doc/vimwiki.txt	/*vimwiki_i_<C-L>_<C-M>*
-vimwiki_i_<C-T>	start/vimwiki/doc/vimwiki.txt	/*vimwiki_i_<C-T>*
-vimwiki_i_<CR>	start/vimwiki/doc/vimwiki.txt	/*vimwiki_i_<CR>*
-vimwiki_i_<CR>_table	start/vimwiki/doc/vimwiki.txt	/*vimwiki_i_<CR>_table*
-vimwiki_i_<S-CR>	start/vimwiki/doc/vimwiki.txt	/*vimwiki_i_<S-CR>*
-vimwiki_i_<Tab>_table	start/vimwiki/doc/vimwiki.txt	/*vimwiki_i_<Tab>_table*
-yS	start/vim-surround/doc/surround.txt	/*yS*
-ySS	start/vim-surround/doc/surround.txt	/*ySS*
-ys	start/vim-surround/doc/surround.txt	/*ys*
-yss	start/vim-surround/doc/surround.txt	/*yss*
diff --git a/.vim/pack/tags b/.vim/pack/tags
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/.vimrc b/.vimrc
index 1455ee475078959d0e2fded9afef7d111345c311..6b9a152fbd1c7543ac26c8d7bf5a7765979415fc 100644
--- a/.vimrc
+++ b/.vimrc
@@ -1,6 +1,27 @@
 " ~/.vimrc (configuration file for vim only){{{
 " Configuration settings ------------------{{{}}}
 " allow backspacing over everything in insert mode
+" Plugged Plugins -------------------------{{{
+call plug#begin('~/.vim/plugged')
+"
+Plug 'dense-analysis/ale'
+Plug 'tpope/vim-fugitive'
+Plug 'shumphrey/fugitive-gitlab.vim'
+Plug 'davidhalter/jedi-vim'
+Plug 'vim-scripts/loremipsum'
+Plug 'python-rope/ropemode'
+Plug 'python-rope/ropevim'
+Plug 'tmhedberg/SimpylFold'
+Plug 'jacoborus/tender.vim'
+Plug 'tpope/vim-rhubarb'
+Plug 'jpalardy/vim-slime'
+Plug 'tpope/vim-surround'
+Plug 'tpope/vim-vividchalk'
+Plug 'vimwiki/vimwiki'
+"
+call plug#end()
+" }}}
+
 set backspace=indent,eol,start
 
 set backup		   " keep a backup file
@@ -48,16 +69,16 @@ let g:html_indent_style1 = "inc"
 let g:html_indent_script1 = "inc"
 let g:html_indent_inctags = "style"
 
-if has ( "win32unix" ) 	
-	set shell=/bin/bash
-	set shellcmdflag=--login\ -c
-elseif has ( "unix" )
-	set shell=/bin/bash
-	set shellcmdflag=--login\ -c
-	set path=.,,/usr/include,./inc,../inc,./include,../include,~/include,inc,include
-else
-	set shell=cmd.exe
-endif	
+"bms   if has ( "win32unix" ) 	
+"bms       set shell=/bin/bash
+"bms       set shellcmdflag=--login\ -c
+"bms   elseif has ( "unix" )
+"bms       set shell=/bin/bash
+"bms       set shellcmdflag=--login\ -c
+"bms       set path=.,,/usr/include,./inc,../inc,./include,../include,~/include,inc,include
+"bms   else
+"bms       set shell=cmd.exe
+"bms   endif
 	"#set shellxquote=\"
 " Don't use Ex mode, use Q for formatting
 map Q gq
@@ -386,3 +407,5 @@ set list listchars=tab:»»,trail:•,precedes:←,extends:→,space:\ ,eol:¶
 
 set clipboard=unnamedplus,unnamed
 let g:fugitive_gitlab_domains = ['https://git.qoto.org']
+
+