diff options
author | Bram Moolenaar <Bram@vim.org> | 2021-12-21 09:12:23 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2021-12-21 09:12:23 +0000 |
commit | 6f79e614b25caebd35cf0d82b6f3b7e0733849ec (patch) | |
tree | 445fedcce235de72ac9f4e195eddbb060b58a296 /runtime | |
parent | 8d95d7091da08d0a236be4a16616e3dda388e58d (diff) |
patch 8.2.3864: cannot disable requesting key codes from xtermv8.2.3864
Problem: Cannot disable requesting key codes from xterm.
Solution: Add the 'xtermcodes' option, default on.
Diffstat (limited to 'runtime')
-rw-r--r-- | runtime/doc/options.txt | 12 | ||||
-rw-r--r-- | runtime/doc/term.txt | 11 | ||||
-rw-r--r-- | runtime/optwin.vim | 8 |
3 files changed, 29 insertions, 2 deletions
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index a5ff937e08..3e71ba14e5 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -9206,4 +9206,16 @@ A jump table for the options with a short description can be found at |Q_op|. screen. When non-zero, characters are sent to the terminal one by one. For debugging purposes. + *'xtermcodes'* *'noxtermcodes'* +'xtermcodes' boolean (default on) + global + When detecting xterm patchlevel 141 or higher with the termresponse + mechanism and this option is set, Vim will request the actual termimal + key codes and number of colors from the terminal. This takes care of + various configuration options of the terminal that cannot be obtained + from the termlib/terminfo entry, see |xterm-codes|. + A side effect may be that t_Co changes and Vim will redraw the + display. + + vim:tw=78:ts=8:noet:ft=help:norl: diff --git a/runtime/doc/term.txt b/runtime/doc/term.txt index 8862d0a400..3e90cc0476 100644 --- a/runtime/doc/term.txt +++ b/runtime/doc/term.txt @@ -556,8 +556,15 @@ request the key codes directly from the xterm. The responses are used to adjust the various t_ codes. This avoids the problem that the xterm can produce different codes, depending on the mode it is in (8-bit, VT102, VT220, etc.). The result is that codes like <xF1> are no longer needed. -Note: This is only done on startup. If the xterm options are changed after -Vim has started, the escape sequences may not be recognized anymore. + +One of the codes that can change is 't_Co', the number of colors. This will +trigger a redraw. If this is a problem, reset the 'xtermcodes' option as +early as possible: > + set noxtermcodes + +Note: Requesting the key codes is only done on startup. If the xterm options +are changed after Vim has started, the escape sequences may not be recognized +anymore. *xterm-true-color* Vim supports using true colors in the terminal (taken from |highlight-guifg| diff --git a/runtime/optwin.vim b/runtime/optwin.vim index 17fe276376..9aa2db26f4 100644 --- a/runtime/optwin.vim +++ b/runtime/optwin.vim @@ -562,14 +562,22 @@ endif call <SID>Header(gettext("terminal")) call <SID>AddOption("term", gettext("name of the used terminal")) call <SID>OptionG("term", &term) + call <SID>AddOption("ttytype", gettext("alias for 'term'")) call <SID>OptionG("tty", &tty) + call <SID>AddOption("ttybuiltin", gettext("check built-in termcaps first")) call <SID>BinOptionG("tbi", &tbi) + call <SID>AddOption("ttyfast", gettext("terminal connection is fast")) call <SID>BinOptionG("tf", &tf) + +call <SID>AddOption("xtermcodes", gettext("request terminal key codes when an xterm is detected")) +call <SID>BinOptionG("xtermcodes", &xtermcodes) + call <SID>AddOption("weirdinvert", gettext("terminal that requires extra redrawing")) call <SID>BinOptionG("wiv", &wiv) + call <SID>AddOption("esckeys", gettext("recognize keys that start with <Esc> in Insert mode")) call <SID>BinOptionG("ek", &ek) call <SID>AddOption("scrolljump", gettext("minimal number of lines to scroll at a time")) |