diff options
author | Bram Moolenaar <Bram@vim.org> | 2007-03-18 20:51:46 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2007-03-18 20:51:46 +0000 |
commit | 867a4b7630a0a35559611661d87689640ed39b80 (patch) | |
tree | 4478ed4b900c1e1f9f8ff6272b060113db299c47 /runtime/macros | |
parent | 49104e4038b2347692d15e1a3c30abdc4378f9cf (diff) | |
download | vim-git-867a4b7630a0a35559611661d87689640ed39b80.tar.gz |
updated for version 7.0-219v7.0.219
Diffstat (limited to 'runtime/macros')
-rw-r--r-- | runtime/macros/editexisting.vim | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/runtime/macros/editexisting.vim b/runtime/macros/editexisting.vim index f0feed08f..fb6b9193f 100644 --- a/runtime/macros/editexisting.vim +++ b/runtime/macros/editexisting.vim @@ -1,6 +1,6 @@ " Vim Plugin: Edit the file with an existing Vim if possible " Maintainer: Bram Moolenaar -" Last Change: 2006 Apr 30 +" Last Change: 2007 Mar 17 " This is a plugin, drop it in your (Unix) ~/.vim/plugin or (Win32) " $VIM/vimfiles/plugin directory. Or make a symbolic link, so that you @@ -85,9 +85,23 @@ endtry " Function used on the server to make the file visible and possibly execute a " command. func! EditExisting(fname, command) - let n = bufwinnr(a:fname) - if n > 0 - exe n . "wincmd w" + " Get the window number of the file in the current tab page. + let winnr = bufwinnr(a:fname) + if winnr <= 0 + " Not found, look in other tab pages. + let bufnr = bufnr(a:fname) + for i in range(tabpagenr('$')) + if index(tabpagebuflist(i + 1), bufnr) >= 0 + " Make this tab page the current one and find the window number. + exe 'tabnext ' . (i + 1) + let winnr = bufwinnr(a:fname) + break; + endif + endfor + endif + + if winnr > 0 + exe winnr . "wincmd w" else exe "split " . escape(a:fname, ' #%"|') endif |