I tried these pseudo-codes, but these are just 1 time thing and won't change over time...couldn't figure out a good way.
;if more than one tab, don't hack if tabpagenr("$") > 1 unmap gt unmap gT ;otherwise , if there is one tab, use gt,gT,Ngt to switch between buffers else if v:count == 0 map gt :bn<cr> map gT :bp<cr> else map gt :<C-U>exec "b" . v:count<cr> endif endif On Thu, Dec 12, 2013 at 11:23 PM, Nikolay Pavlov <zyx....@gmail.com> wrote: > > On Dec 13, 2013 1:56 AM, "ping song" <songpingem...@gmail.com> wrote: > > > > furthermore, I want to overide Ngt to :bN<enter>, when there is only > one tab... > > this looks requiring N being extracted and used as a parameter of the > function... > > how to implement that? > > Use v:count or v:count1. Knowing that "2:" results in ":.,.+1" you may > also extract count using ":function Func() range" or ":command-range". > > > > > thanks! > > > > > > On Thu, Dec 12, 2013 at 11:29 AM, ping song <songpingem...@gmail.com> > wrote: > >> > >> thanks. this is nice. just one more <enter> in the end. > >> > >> noremap <silent> ,l :call <SID>switch()<enter> > >> > >> reading about <SID> again...(I figured it out ever) > >> > >> > >> > >> On Thu, Dec 12, 2013 at 4:40 AM, Paul Isambert <zappathus...@free.fr> > wrote: > >>> > >>> "ping song" <songpingem...@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+unsubscr...@googlegroups.com. > >>> For more options, visit https://groups.google.com/groups/opt_out. > >> > >> > > > > -- > > -- > > 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+unsubscr...@googlegroups.com. > > For more options, visit https://groups.google.com/groups/opt_out. > > -- > -- > 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+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > -- -- 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+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.