Thursday, December 12, 2013

Re: vim: toggle between tabs and toggle between buffers

"ping song" <songpingemail@gmail.com>:
> currently I have a map to quickly switch between 2 tabs:
>
> nmap ,l :exe "tabn ".g:lasttab<CR>
> au TabLeave * let g:lasttab = tabpagenr()
>
> it works nice.
>
> but I'm thinking to extend that to another scenario, that if I got
> only one tab left but still have multiple buffers, the same map will
> toggle between the last 2 buffers used instead of tabs.
>
> how to archive this ?

Check whether there exists more than one tab page; if not, use ":b #" as
indicated by Marc:

function! s:switch()
if tabpagenr("$") > 1
exe "tabnext" g:lasttab
else
b #
endif
endfunction
noremap <silent> ,l :call <SID>switch()

Best,
Paul

--
--
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:

Post a Comment