BundleClean cleans up unused scripts
- removes unused directories
This commit is contained in:
parent
55a5ef041c
commit
75f14de912
11
README.md
11
README.md
@ -9,6 +9,7 @@
|
||||
- install configured scripts (aka bundle)
|
||||
- manage runtime path of your installed scripts so you don't have to
|
||||
- search [all available vim scripts] by name
|
||||
- clean up from unused scripts
|
||||
|
||||
[Vundle] takes advantage of [vim-scripts.org](http://vim-scripts.org)
|
||||
in order to install/search [all available vim scripts]
|
||||
@ -50,7 +51,7 @@ in order to install/search [all available vim scripts]
|
||||
|
||||
:BundleSearch foo
|
||||
|
||||
will split new window with results:
|
||||
lists search results in new split window, ie:
|
||||
|
||||
Bundle "VimFootnotes"
|
||||
Bundle "foo.vim"
|
||||
@ -59,10 +60,16 @@ so you can just copy ones you need to <code>.vimrc</code>.
|
||||
|
||||
:BundleSearch! foo
|
||||
|
||||
will refresh scripts list before doing search.
|
||||
refreshes script list before performing actual search.
|
||||
|
||||
Searching requires [<code>curl</code>](http://curl.haxx.se/)
|
||||
|
||||
## Cleaning up
|
||||
|
||||
:BundleClean
|
||||
|
||||
removes unused script dirs from your `.vim/bundle`
|
||||
|
||||
## Examples
|
||||
|
||||
See [gmarik's vimrc](https://github.com/gmarik/vimfiles/blob/1f4f26d42f54443f1158e0009746a56b9a28b053/vimrc#L136) for working example.
|
||||
|
@ -6,6 +6,7 @@
|
||||
|
||||
com! -nargs=+ Bundle call vundle#config#bundle(<args>)
|
||||
com! -nargs=? -bang BundleInstall call vundle#installer#install("<bang>")
|
||||
com! -nargs=? BundleClean call vundle#installer#clean()
|
||||
com! -nargs=0 BundleDocs call vundle#installer#helptags()
|
||||
|
||||
com! -nargs=+ -bang BundleSearch silent call vundle#scripts#search("<bang>", <q-args>)
|
||||
|
@ -42,6 +42,13 @@ func! s:install(bang, bundle)
|
||||
if synced | call vundle#config#require(a:bundle) | endif
|
||||
endf
|
||||
|
||||
func! vundle#installer#clean()
|
||||
let bundle_dirs = map(copy(g:bundles), 'v:val.path()')
|
||||
let all_dirs = split(globpath(g:bundle_dir, '*'), "\n")
|
||||
let x_dirs = filter(all_dirs, '0 > index(bundle_dirs, v:val)')
|
||||
for d in x_dirs | exec '!rm -rf "'.escape(d,'"').'"' | endfor
|
||||
endf
|
||||
|
||||
" TODO: make it pause after output in console mode
|
||||
func! s:log(msg)
|
||||
if has('gui_running')
|
||||
|
Loading…
Reference in New Issue
Block a user