summaryrefslogtreecommitdiffstats
path: root/plugin
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2013-10-23 10:26:55 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2013-10-24 01:04:17 +0900
commit03b204ec403b150fce8b78fd65938157b5c2f03c (patch)
tree8e0783ec3d0dc4d006136e247b9370d6daf05343 /plugin
Initial commit
Diffstat (limited to 'plugin')
-rw-r--r--plugin/fzf.vim41
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>)
+