diff --git a/autoload/SpaceVim/plugins/flygrep.vim b/autoload/SpaceVim/plugins/flygrep.vim index 4264fdcce..21b56a8ba 100644 --- a/autoload/SpaceVim/plugins/flygrep.vim +++ b/autoload/SpaceVim/plugins/flygrep.vim @@ -126,22 +126,18 @@ function! s:previous_item() abort endfunction function! s:open_item() abort - if line('.') !=# '' + if getline('.') !=# '' if s:grepid != 0 call s:JOB.stop(s:grepid) endif call s:MPT._clear_prompt() let s:MPT._quit = 1 - let isfname = &isfname - if s:SYS.isWindows - set isfname-=: - endif - normal! gF - let nr = bufnr('%') + let line = getline('.') + let filename = fnameescape(split(line, ':\d\+:')[0]) + let linenr = matchstr(line, ':\d\+:')[1:-2] q - exe 'silent b' . nr - normal! : - let &isfname = isfname + exe 'e ' . filename + exe linenr endif endfunction