diff options
author | Junegunn Choi <junegunn.c@gmail.com> | 2013-10-23 10:26:55 +0900 |
---|---|---|
committer | Junegunn Choi <junegunn.c@gmail.com> | 2013-10-24 01:04:17 +0900 |
commit | 03b204ec403b150fce8b78fd65938157b5c2f03c (patch) | |
tree | 8e0783ec3d0dc4d006136e247b9370d6daf05343 /plugin |
Initial commit
Diffstat (limited to 'plugin')
-rw-r--r-- | plugin/fzf.vim | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/plugin/fzf.vim b/plugin/fzf.vim new file mode 100644 index 00000000..03571e8e --- /dev/null +++ b/plugin/fzf.vim @@ -0,0 +1,41 @@ +" Copyright (c) 2013 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. + +let s:exec = expand('<sfile>:h:h').'/fzf' + +function! s:fzf(cmd) + try + let tf = tempname() + let prefix = empty(a:cmd) ? '' : a:cmd.' | ' + execute "silent !".prefix."/usr/bin/env bash ".s:exec." > ".tf + if !v:shell_error + execute 'silent e '.join(readfile(tf), '') + endif + finally + silent! call delete(tf) + redraw! + endtry +endfunction + +command! -nargs=* FZF call s:fzf(<q-args>) + |