Tuesday, January 21, 2014

How can I close a Netrw :Explore buffer and return to the buffer I was last in?

I'm trying to write a function that will let me toggle a Netrw Explore window open/closed in the current window. Opening is easy, but closing (without killing the window/split) is a problem. Using <C-6> doesn't work if there's no alternate buffer, and my current implementation yields unpredictable results. Has anyone got an idea how I could pull this off? What I have so far, below:

fun! ExToggle(dir)
if &filetype != "netrw"
call ExOpen(a:dir)
else
call ExClose()
endif
endf

fun! ExOpen(dir)
exe "Explore " . a:dir
let g:netrw_browse_split=0 " open files in current window
endf

fun! ExClose()
while &filetype == "netrw"
exe "normal! \<C-O>"
endw
endf

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

No comments: