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.

Reply via email to