diff --git a/runtime/defaults.vim b/runtime/defaults.vim index ff8ce8ea18..459841ffcc 100644 --- a/runtime/defaults.vim +++ b/runtime/defaults.vim @@ -115,6 +115,11 @@ if 1 \ | execute "normal! g`\"" \ | endif + " Set the default background for putty to dark. Putty usually sets the + " $TERM to xterm and by default it starts with a dark background which + " makes syntax highlighting often hard to read with bg=light + " undo this using: ":au! vimStartup TermResponse" + autocmd TermResponse * if v:termresponse == "\e[>0;136;0c" | set bg=dark | endif augroup END " Quite a few people accidentally type "q:" instead of ":q" and get confused diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt index f200a30e50..6ca00a6e1e 100644 --- a/runtime/doc/autocmd.txt +++ b/runtime/doc/autocmd.txt @@ -1,4 +1,4 @@ -*autocmd.txt* For Vim version 9.1. Last change: 2024 Aug 18 +*autocmd.txt* For Vim version 9.1. Last change: 2024 Oct 27 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1254,10 +1254,19 @@ TerminalWinOpen Just after a terminal buffer was created, with TermResponse After the response to |t_RV| is received from the terminal. The value of |v:termresponse| can be used to do things depending on the - terminal version. Note that this event may be - triggered halfway executing another event, - especially if file I/O, a shell command or - anything else that takes time is involved. + terminal version. + This is used in |defaults.vim| to detect + putty terminal and set a dark background: > + + au TermResponse * + \ if v:termresponse == "\e[>0;136;0c" + \ set bg=dark + \ endif +< + Note: that this event may be triggered halfway + executing another event, especially if file + I/O, a shell command or anything else that + takes time is involved. *TermResponseAll* TermResponseAll After the response to |t_RV|, |t_RC|, |t_RS|, |t_RB|, |t_RF|, or |t_u7| are received from diff --git a/runtime/doc/version9.txt b/runtime/doc/version9.txt index af180a2238..2a3846669d 100644 --- a/runtime/doc/version9.txt +++ b/runtime/doc/version9.txt @@ -1,4 +1,4 @@ -*version9.txt* For Vim version 9.1. Last change: 2024 Oct 22 +*version9.txt* For Vim version 9.1. Last change: 2024 Oct 27 VIM REFERENCE MANUAL by Bram Moolenaar @@ -41600,6 +41600,8 @@ Changed~ - |:keeppatterns| preserves the last substitute pattern when used with |:s| - |setqflist()| and |setloclist()| can optionally try to preserve the current selection in the quickfix list with the "u" action. +- the putty terminal is detected using an |TermResponse| autocommand in + |defaults.vim| and Vim switches to a dark background *added-9.2* Added ~ diff --git a/src/testdir/test_cmdline.vim b/src/testdir/test_cmdline.vim index e1dbc87fe2..30ded35b8d 100644 --- a/src/testdir/test_cmdline.vim +++ b/src/testdir/test_cmdline.vim @@ -1701,6 +1701,8 @@ func Test_verbose_option() CheckScreendump let lines =<< trim [SCRIPT] + " clear the TermResponse autocommand from defaults.vim + au! vimStartup TermResponse command DoSomething echo 'hello' |set ts=4 |let v = '123' |echo v call feedkeys("\r", 't') " for the hit-enter prompt set verbose=20