From 8d25dd777c5875d72328799878dd93f15f0e64c6 Mon Sep 17 00:00:00 2001 From: Tim Pope Date: Sat, 4 Sep 2021 00:09:56 -0400 Subject: [PATCH] Fix pedit map in :Git -p grep Resolves: https://github.com/tpope/vim-fugitive/issues/1825 --- autoload/fugitive.vim | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/autoload/fugitive.vim b/autoload/fugitive.vim index 45a67c2..d4fd752 100644 --- a/autoload/fugitive.vim +++ b/autoload/fugitive.vim @@ -7725,9 +7725,15 @@ function! s:GF(mode) abort return 'echoerr ' . string(v:exception) endtry if len(results) > 1 - return 'G' . a:mode . + let cmd = 'G' . a:mode . \ (empty(results[1]) ? '' : ' +' . escape(results[1], ' |')) . ' ' . - \ fnameescape(results[0]) . join(map(results[2:-1], '"|" . v:val'), '') + \ fnameescape(results[0]) + let tail = join(map(results[2:-1], '"|" . v:val'), '') + if a:mode ==# 'pedit' && len(tail) + return cmd . '|wincmd P|exe ' . string(tail[1:-1]) . '|wincmd p' + else + return cmd . tail + endif elseif len(results) && len(results[0]) return 'G' . a:mode . ' ' . s:fnameescape(results[0]) else