[neovim] Keep alternate file unchanged

Close https://github.com/junegunn/fzf.vim/issues/265
This commit is contained in:
Junegunn Choi 2016-12-11 22:32:40 +09:00
parent 16b5902aa2
commit c60bfb2b0f
No known key found for this signature in database
GPG Key ID: 254BC280FEF9C627

View File

@ -430,7 +430,7 @@ function! s:split(dict)
let ppos = s:getpos()
try
if s:present(a:dict, 'window')
execute a:dict.window
execute 'keepalt' a:dict.window
elseif !s:splittable(a:dict)
execute (tabpagenr()-1).'tabnew'
else
@ -457,15 +457,14 @@ endfunction
function! s:execute_term(dict, command, temps) abort
let winrest = winrestcmd()
let pbuf = bufnr('')
let [ppos, winopts] = s:split(a:dict)
let fzf = { 'buf': bufnr('%'), 'ppos': ppos, 'dict': a:dict, 'temps': a:temps,
let fzf = { 'buf': bufnr(''), 'pbuf': pbuf, 'ppos': ppos, 'dict': a:dict, 'temps': a:temps,
\ 'winopts': winopts, 'winrest': winrest, 'lines': &lines,
\ 'columns': &columns, 'command': a:command }
function! fzf.switch_back(inplace)
if a:inplace && bufnr('') == self.buf
" FIXME: Can't re-enter normal mode from terminal mode
" execute "normal! \<c-^>"
b #
execute 'keepalt b' self.pbuf
" No other listed buffer
if bufnr('') == self.buf
enew