evaluating an expression.
CTRL-W CTRL-C ends the job, see below |t_CTRL-W_CTRL-C|
CTRL-W gt go to next tabpage, same as `gt`
+ CTRL-W gT go to previous tabpage, same as `gT`
See option 'termwinkey' for specifying another key instead of CTRL-W that
will work like CTRL-W. However, typing 'termwinkey' twice sends 'termwinkey'
endfunc
func Test_terminal_termwinkey()
+ " make three tabpages, terminal in the middle
+ 0tabnew
+ tabnext
+ tabnew
+ tabprev
call assert_equal(1, winnr('$'))
+ call assert_equal(2, tabpagenr())
let thiswin = win_getid()
- tabnew
- tabnext
let buf = Run_shell_in_terminal({})
let termwin = bufwinid(buf)
call feedkeys("\<C-W>w", 'tx')
call assert_equal(termwin, win_getid())
- let tnr = tabpagenr()
call feedkeys("\<C-L>gt", "xt")
- call assert_notequal(tnr, tabpagenr())
+ call assert_equal(3, tabpagenr())
+ tabprev
+ call assert_equal(2, tabpagenr())
+ call assert_equal(termwin, win_getid())
+
+ call feedkeys("\<C-L>gT", "xt")
+ call assert_equal(1, tabpagenr())
tabnext
- call assert_equal(tnr, tabpagenr())
+ call assert_equal(2, tabpagenr())
call assert_equal(termwin, win_getid())
let job = term_getjob(buf)
set termwinkey&
tabnext
tabclose
+ tabprev
+ tabclose
endfunc
func Test_terminal_out_err()
#endif
char_u cbuf[40];
- if (Prenum == 0)
- Prenum1 = 1;
- else
- Prenum1 = Prenum;
+ Prenum1 = Prenum == 0 ? 1 : Prenum;
#ifdef FEAT_CMDWIN
# define CHECK_CMDWIN \
goto_tabpage((int)Prenum);
break;
+ case 'T': // CTRL-W gT: go to previous tab page
+ goto_tabpage(-(int)Prenum1);
+ break;
+
default:
beep_flush();
break;