diff options
-rw-r--r-- | src/nvim/window.c | 9 | ||||
-rw-r--r-- | test/functional/normal/tabpage_spec.lua | 13 |
2 files changed, 18 insertions, 4 deletions
diff --git a/src/nvim/window.c b/src/nvim/window.c index d62510b951..8feedf2de6 100644 --- a/src/nvim/window.c +++ b/src/nvim/window.c @@ -85,10 +85,7 @@ do_window( size_t len; char cbuf[40]; - if (Prenum == 0) - Prenum1 = 1; - else - Prenum1 = Prenum; + Prenum1 = Prenum == 0 ? 1 : Prenum; # define CHECK_CMDWIN \ do { \ @@ -532,6 +529,10 @@ wingotofile: goto_tabpage((int)Prenum); break; + case 'T': // CTRL-W gT: go to previous tab page + goto_tabpage(-(int)Prenum1); + break; + case 'e': if (curwin->w_floating || !ui_has(kUIMultigrid)) { beep_flush(); diff --git a/test/functional/normal/tabpage_spec.lua b/test/functional/normal/tabpage_spec.lua index 68524eaf91..d1d6854b07 100644 --- a/test/functional/normal/tabpage_spec.lua +++ b/test/functional/normal/tabpage_spec.lua @@ -21,5 +21,18 @@ describe('tabpage', function() eq(1, eval('tabpagenr()')) end) + + it('retreats to the previous page via <C-W>gT', function() + -- add some tabpages + command('tabnew') + command('tabnew') + command('tabnew') + + eq(4, eval('tabpagenr()')) + + feed('<C-W>gT') + + eq(3, eval('tabpagenr()')) + end) end) |