From ab9ae4f643ed47538bae6cebddc4c529f8700b45 Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Sat, 3 Dec 2016 01:08:09 +0900 Subject: [PATCH] [vim] Fix path display in FZF when cwd is ~ --- plugin/fzf.vim | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/plugin/fzf.vim b/plugin/fzf.vim index 49dc192..0999964 100644 --- a/plugin/fzf.vim +++ b/plugin/fzf.vim @@ -581,6 +581,11 @@ let s:default_action = { \ 'ctrl-x': 'split', \ 'ctrl-v': 'vsplit' } +function! s:shortpath() + let short = pathshorten(fnamemodify(getcwd(), ':~:.')) + return empty(short) ? '~/' : short . (short =~ '/$' ? '' : '/') +endfunction + function! s:cmd(bang, ...) abort let args = copy(a:000) let opts = { 'options': '--multi ' } @@ -588,7 +593,7 @@ function! s:cmd(bang, ...) abort let opts.dir = substitute(substitute(remove(args, -1), '\\\(["'']\)', '\1', 'g'), '/*$', '/', '') let opts.options .= ' --prompt '.shellescape(opts.dir) else - let opts.options .= ' --prompt '.shellescape(pathshorten(fnamemodify(getcwd(), ':~:.')).'/') + let opts.options .= ' --prompt '.shellescape(s:shortpath()) endif let opts.options .= ' '.join(args) call fzf#run(fzf#wrap('FZF', opts, a:bang))