forked from aniani/vim
patch 8.1.2144: side effects when using t_ti to enable modifyOtherKeys
Problem: Side effects when using t_ti to enable modifyOtherKeys. Solution: Add t_TI and t_TE.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
*term.txt* For Vim version 8.1. Last change: 2019 May 07
|
||||
*term.txt* For Vim version 8.1. Last change: 2019 Oct 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -80,14 +80,19 @@ can do this best in your .vimrc. Example: >
|
||||
<
|
||||
*raw-terminal-mode*
|
||||
For normal editing the terminal will be put into "raw" mode. The strings
|
||||
defined with 't_ti' and 't_ks' will be sent to the terminal. Normally this
|
||||
puts the terminal in a state where the termcap codes are valid and activates
|
||||
the cursor and function keys. When Vim exits the terminal will be put back
|
||||
into the mode it was before Vim started. The strings defined with 't_te' and
|
||||
't_ke' will be sent to the terminal. On the Amiga, with commands that execute
|
||||
an external command (e.g., "!!"), the terminal will be put into Normal mode
|
||||
for a moment. This means that you can stop the output to the screen by
|
||||
hitting a printing key. Output resumes when you hit <BS>.
|
||||
defined with 't_ti', 't_TI' and 't_ks' will be sent to the terminal. Normally
|
||||
this puts the terminal in a state where the termcap codes are valid and
|
||||
activates the cursor and function keys.
|
||||
When Vim exits the terminal will be put back into the mode it was before Vim
|
||||
started. The strings defined with 't_te', 't_TE' and 't_ke' will be sent to
|
||||
the terminal. On the Amiga, with commands that execute an external command
|
||||
(e.g., "!!"), the terminal will be put into Normal mode for a moment. This
|
||||
means that you can stop the output to the screen by hitting a printing key.
|
||||
Output resumes when you hit <BS>.
|
||||
|
||||
Note: When 't_ti' is not empty, Vim assumes that it causes switching to the
|
||||
alternate screen. This may slightly change what happens when executing a
|
||||
shell command or exiting Vim. To avoid this use 't_TI' and 't_TE'.
|
||||
|
||||
*xterm-bracketed-paste*
|
||||
When the 't_BE' option is set then 't_BE' will be sent to the
|
||||
@@ -297,8 +302,8 @@ OUTPUT CODES *terminal-output-codes*
|
||||
t_se standout end *t_se* *'t_se'*
|
||||
t_so standout mode *t_so* *'t_so'*
|
||||
t_sr scroll reverse (backward) *t_sr* *'t_sr'*
|
||||
t_te out of "termcap" mode *t_te* *'t_te'*
|
||||
t_ti put terminal in "termcap" mode *t_ti* *'t_ti'*
|
||||
t_te end of "termcap" mode *t_te* *'t_te'*
|
||||
t_ti put terminal into "termcap" mode *t_ti* *'t_ti'*
|
||||
t_ts set window title start (to status line) *t_ts* *'t_ts'*
|
||||
t_ue underline end *t_ue* *'t_ue'*
|
||||
t_us underline mode *t_us* *'t_us'*
|
||||
@@ -359,6 +364,8 @@ Added by Vim (there are no standard codes for these):
|
||||
t_RT restore window title from stack *t_RT* *'t_RT'*
|
||||
t_Si save icon text to stack *t_Si* *'t_Si'*
|
||||
t_Ri restore icon text from stack *t_Ri* *'t_Ri'*
|
||||
t_TE end of "raw" mode *t_TE* *'t_TE'*
|
||||
t_TI put terminal into "raw" mode *t_TI* *'t_TI'*
|
||||
|
||||
Some codes have a start, middle and end part. The start and end are defined
|
||||
by the termcap option, the middle part is text.
|
||||
|
@@ -2969,7 +2969,9 @@ static struct vimoption options[] =
|
||||
p_term("t_ST", T_CST)
|
||||
p_term("t_Te", T_STE)
|
||||
p_term("t_te", T_TE)
|
||||
p_term("t_TE", T_CTE)
|
||||
p_term("t_ti", T_TI)
|
||||
p_term("t_TI", T_CTI)
|
||||
p_term("t_Ts", T_STS)
|
||||
p_term("t_ts", T_TS)
|
||||
p_term("t_u7", T_U7)
|
||||
|
@@ -1624,6 +1624,7 @@ get_term_entries(int *height, int *width)
|
||||
{KS_CM, "cm"}, {KS_SR, "sr"},
|
||||
{KS_CRI,"RI"}, {KS_VB, "vb"}, {KS_KS, "ks"},
|
||||
{KS_KE, "ke"}, {KS_TI, "ti"}, {KS_TE, "te"},
|
||||
{KS_CTI, "TI"}, {KS_CTE, "TE"},
|
||||
{KS_BC, "bc"}, {KS_CSB,"Sb"}, {KS_CSF,"Sf"},
|
||||
{KS_CAB,"AB"}, {KS_CAF,"AF"}, {KS_LE, "le"},
|
||||
{KS_ND, "nd"}, {KS_OP, "op"}, {KS_CRV, "RV"},
|
||||
@@ -3462,6 +3463,7 @@ starttermcap(void)
|
||||
if (full_screen && !termcap_active)
|
||||
{
|
||||
out_str(T_TI); /* start termcap mode */
|
||||
out_str(T_CTI); /* start "raw" mode */
|
||||
out_str(T_KS); /* start "keypad transmit" mode */
|
||||
out_str(T_BE); /* enable bracketed paste mode */
|
||||
out_flush();
|
||||
@@ -3517,6 +3519,7 @@ stoptermcap(void)
|
||||
out_flush();
|
||||
termcap_active = FALSE;
|
||||
cursor_on(); /* just in case it is still off */
|
||||
out_str(T_CTE); /* stop "raw" mode */
|
||||
out_str(T_TE); /* stop termcap mode */
|
||||
screen_start(); /* don't know where cursor is now */
|
||||
out_flush();
|
||||
|
@@ -65,7 +65,9 @@ enum SpecialKey
|
||||
KS_KS, /* put term in "keypad transmit" mode */
|
||||
KS_KE, /* out of "keypad transmit" mode */
|
||||
KS_TI, /* put terminal in termcap mode */
|
||||
KS_TE, /* out of termcap mode */
|
||||
KS_CTI, /* put terminal in "raw" mode */
|
||||
KS_TE, /* end of termcap mode */
|
||||
KS_CTE, /* end of "raw" mode */
|
||||
KS_BC, /* backspace character (cursor left) */
|
||||
KS_CCS, /* cur is relative to scroll region */
|
||||
KS_CCO, /* number of colors */
|
||||
@@ -164,7 +166,9 @@ extern char_u *(term_strings[]); /* current terminal strings */
|
||||
#define T_KS (TERM_STR(KS_KS)) /* put term in "keypad transmit" mode */
|
||||
#define T_KE (TERM_STR(KS_KE)) /* out of "keypad transmit" mode */
|
||||
#define T_TI (TERM_STR(KS_TI)) /* put terminal in termcap mode */
|
||||
#define T_TE (TERM_STR(KS_TE)) /* out of termcap mode */
|
||||
#define T_CTI (TERM_STR(KS_CTI)) /* put terminal in "raw" mode */
|
||||
#define T_TE (TERM_STR(KS_TE)) /* end of termcap mode */
|
||||
#define T_CTE (TERM_STR(KS_CTE)) /* end of "raw" mode */
|
||||
#define T_BC (TERM_STR(KS_BC)) /* backspace character */
|
||||
#define T_CCS (TERM_STR(KS_CCS)) /* cur is relative to scroll region */
|
||||
#define T_CCO (TERM_STR(KS_CCO)) /* number of colors */
|
||||
|
@@ -753,6 +753,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
2144,
|
||||
/**/
|
||||
2143,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user