1
0
forked from aniani/vim

patch 8.1.0870: Vim doesn't use the new ConPTY support in Windows 10

Problem:    Vim doesn't use the new ConPTY support in Windows 10.
Solution:   Use ConPTY support, if available. (Nobuhiro Takasaki, closes #3794)
This commit is contained in:
Bram Moolenaar
2019-02-03 14:53:10 +01:00
parent 01a6c21691
commit aa5df7e312
17 changed files with 694 additions and 73 deletions

View File

@@ -1,4 +1,4 @@
*eval.txt* For Vim version 8.1. Last change: 2019 Jan 29
*eval.txt* For Vim version 8.1. Last change: 2019 Feb 03
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -696,7 +696,7 @@ similar to -1. >
:let otherblob = myblob[:] " make a copy of the Blob
If the first index is beyond the last byte of the Blob or the second index is
before the first index, the result is an empty list. There is no error
before the first index, the result is an empty Blob. There is no error
message.
If the second index is equal to or greater than the length of the list the
@@ -9469,6 +9469,10 @@ term_start({cmd}, {options}) *term_start()*
"ansi_colors" A list of 16 color names or hex codes
defining the ANSI palette used in GUI
color modes. See |g:terminal_ansi_colors|.
"term_mode" (MS-Windows only): Specify which pty to
use:
"winpty": Use winpty
"conpty": Use ConPTY (if available)
{only available when compiled with the |+terminal| feature}
@@ -10186,6 +10190,7 @@ cmdline_hist Compiled with |cmdline-history| support.
cmdline_info Compiled with 'showcmd' and 'ruler' support.
comments Compiled with |'comments'| support.
compatible Compiled to be very Vi compatible.
conpty Platform where |ConPTY| can be used.
cryptv Compiled with encryption support |encryption|.
cscope Compiled with |cscope| support.
cursorbind Compiled with |cursorbind| (always true)

View File

@@ -8054,6 +8054,23 @@ A jump table for the options with a short description can be found at |Q_op|.
Note that the "cterm" attributes are still used, not the "gui" ones.
NOTE: This option is reset when 'compatible' is set.
*'termmode'* *'tmod'*
'termmode' 'tmod' string (default "")
local to window
{not in Vi, MS-Windows only}
Whether the window uses winpty or |ConPTY| as the virtual console.
When set before opening the terminal, it influences what pty is used.
When opening the terminal it will be set to the actually used pty.
Possible values are:
"" use ConPTY if possible, winpty otherwise
"winpty" use winpty, fail if not supported
"conpty" use |ConPTY|, fail if not supported
|ConPTY| support depends on the platform (Windows 10 October 2018
edition). winpty support needs to be installed. If neither is
supported then you cannot open a terminal window.
*'termwinscroll'* *'twsl'*
'termwinscroll' 'twsl' number (default 10000)
local to buffer

View File

@@ -228,7 +228,8 @@ Syntax ~
for Python "++eof=exit()". Special
codes can be used like with `:map`,
e.g. "<C-Z>" for CTRL-Z.
++winpty Use winpty as the virtual console.
++conpty Use |ConPTY| as the virtual console.
If you want to use more options use the |term_start()|
function.
If you want to split the window vertically, use: >
@@ -410,6 +411,13 @@ Just put the files somewhere in your PATH. You can set the 'winptydll' option
to point to the right file, if needed. If you have both the 32-bit and 64-bit
version, rename to winpty32.dll and winpty64.dll to match the way Vim was
build.
*ConPTY*
On more recent versions of MS-Windows 10 (beginning with the "October 2018
Update"), winpty is no longer required. On those versions, |:terminal| will use
Windows' built-in support for hosting terminal applications, "ConPTY". When
ConPTY is in use, there may be rendering artifacts regarding ambiguous-width
characters. If you encounter any such issues, set 'termmode' to winpty (which
you then must have instlled).
Environment variables are used to pass information to the running job:
VIM_SERVERNAME v:servername