forked from aniani/vim
patch 9.0.0948: 'ttyfast' is set for arbitrary terminals
Problem: 'ttyfast' is set for arbitrary terminals. Solution: Always set 'ttyfast'. (closes #11549)
This commit is contained in:
@@ -8569,10 +8569,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
xterm entries...).
|
xterm entries...).
|
||||||
|
|
||||||
*'ttyfast'* *'tf'* *'nottyfast'* *'notf'*
|
*'ttyfast'* *'tf'* *'nottyfast'* *'notf'*
|
||||||
'ttyfast' 'tf' boolean (default off, on when 'term' is xterm, hpterm,
|
'ttyfast' 'tf' boolean (default on)
|
||||||
sun-cmd, screen, rxvt, dtterm or
|
|
||||||
iris-ansi; also on when running Vim in
|
|
||||||
a DOS console)
|
|
||||||
global
|
global
|
||||||
Indicates a fast terminal connection. More characters will be sent to
|
Indicates a fast terminal connection. More characters will be sent to
|
||||||
the screen for redrawing, instead of using insert/delete line
|
the screen for redrawing, instead of using insert/delete line
|
||||||
@@ -8582,6 +8579,14 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
line for lines that wrap. This helps when using copy/paste with the
|
line for lines that wrap. This helps when using copy/paste with the
|
||||||
mouse in an xterm and other terminals.
|
mouse in an xterm and other terminals.
|
||||||
|
|
||||||
|
The default used to be set only for some terminal names, but these
|
||||||
|
days nearly all terminals are fast, therefore the default is now "on".
|
||||||
|
If you have a slow connection you may want to set this option off,
|
||||||
|
e.g. depending on the host name: >
|
||||||
|
if hostname() =~ 'faraway'
|
||||||
|
set nottyfast
|
||||||
|
endif
|
||||||
|
<
|
||||||
*'ttymouse'* *'ttym'*
|
*'ttymouse'* *'ttym'*
|
||||||
'ttymouse' 'ttym' string (default depends on 'term')
|
'ttymouse' 'ttym' string (default depends on 'term')
|
||||||
global
|
global
|
||||||
|
@@ -28,10 +28,11 @@ system() is used, which is a bit slower. The output of ":version" includes
|
|||||||
can be changed at compile time.
|
can be changed at compile time.
|
||||||
(For forking of the GUI version see |gui-fork|.)
|
(For forking of the GUI version see |gui-fork|.)
|
||||||
|
|
||||||
Because terminal updating under Unix is often slow (e.g. serial line
|
For historic reasons terminal updating under Unix is expected to be slow (e.g.
|
||||||
terminal, shell window in suntools), the 'showcmd' and 'ruler' options
|
serial line terminal, shell window in suntools), the 'showcmd' and 'ruler'
|
||||||
are off by default. If you have a fast terminal, try setting them on. You
|
options are off by default. If you have a fast terminal, try setting them
|
||||||
might also want to set 'ttyfast'.
|
on: >
|
||||||
|
set showcmd ruler
|
||||||
|
|
||||||
When using Vim in an xterm the mouse clicks can be used by Vim by setting
|
When using Vim in an xterm the mouse clicks can be used by Vim by setting
|
||||||
'mouse' to "a". If there is access to an X-server gui style copy/paste will
|
'mouse' to "a". If there is access to an X-server gui style copy/paste will
|
||||||
|
@@ -458,18 +458,11 @@ Ins, Del buttons etc., except Backspace in GUI mode. To solve it, add to
|
|||||||
|
|
||||||
Vim will also recognize that they are fast terminals.
|
Vim will also recognize that they are fast terminals.
|
||||||
|
|
||||||
If you have some annoying line jumping on the screen between windows add to
|
If you're using Vim on remote host or through a very slow connection, you
|
||||||
your .vimrc file: >
|
might want to reset fast terminal option with: >
|
||||||
|
|
||||||
set ttyfast " set fast terminal
|
|
||||||
|
|
||||||
Note: if you're using Vim on remote host or through a very slow connection, it's
|
|
||||||
recommended to avoid the fast terminal option with: >
|
|
||||||
|
|
||||||
set nottyfast " set terminal to slow mode
|
set nottyfast " set terminal to slow mode
|
||||||
|
|
||||||
(Zoltan Arpadffy, Vim 5.6)
|
|
||||||
|
|
||||||
|
|
||||||
8.7 Hex-editing and other external tools
|
8.7 Hex-editing and other external tools
|
||||||
|
|
||||||
|
@@ -768,8 +768,9 @@ See the "Options" chapter |options|.
|
|||||||
|
|
||||||
If your terminal does not support a scrolling region, but it does support
|
If your terminal does not support a scrolling region, but it does support
|
||||||
insert/delete line commands, scrolling with multiple windows may make the
|
insert/delete line commands, scrolling with multiple windows may make the
|
||||||
lines jump up and down. If you don't want this set the 'ttyfast' option.
|
lines jump up and down. This would happen if the 'ttyfast' option has been
|
||||||
This will redraw the window instead of scroll it.
|
reset. Check that with: >
|
||||||
|
verbose set ttyfast?
|
||||||
|
|
||||||
If your terminal scrolls very slowly, but redrawing is not slow, set the
|
If your terminal scrolls very slowly, but redrawing is not slow, set the
|
||||||
'ttyscroll' option to a small number, e.g., 3. This will make Vim redraw the
|
'ttyscroll' option to a small number, e.g., 3. This will make Vim redraw the
|
||||||
|
@@ -2599,7 +2599,7 @@ static struct vimoption options[] =
|
|||||||
{(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
|
{(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
|
||||||
{"ttyfast", "tf", P_BOOL|P_NO_MKRC|P_VI_DEF,
|
{"ttyfast", "tf", P_BOOL|P_NO_MKRC|P_VI_DEF,
|
||||||
(char_u *)&p_tf, PV_NONE,
|
(char_u *)&p_tf, PV_NONE,
|
||||||
{(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
|
{(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
|
||||||
{"ttymouse", "ttym", P_STRING|P_NODEFAULT|P_NO_MKRC|P_VI_DEF,
|
{"ttymouse", "ttym", P_STRING|P_NODEFAULT|P_NO_MKRC|P_VI_DEF,
|
||||||
#if defined(UNIX) || defined(VMS)
|
#if defined(UNIX) || defined(VMS)
|
||||||
(char_u *)&p_ttym, PV_NONE,
|
(char_u *)&p_ttym, PV_NONE,
|
||||||
|
@@ -2437,24 +2437,6 @@ vim_is_vt300(char_u *name)
|
|||||||
|| STRCMP(name, "builtin_vt320") == 0);
|
|| STRCMP(name, "builtin_vt320") == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Return TRUE if "name" is a terminal for which 'ttyfast' should be set.
|
|
||||||
* This should include all windowed terminal emulators.
|
|
||||||
*/
|
|
||||||
int
|
|
||||||
vim_is_fastterm(char_u *name)
|
|
||||||
{
|
|
||||||
if (name == NULL)
|
|
||||||
return FALSE;
|
|
||||||
if (vim_is_xterm(name) || vim_is_vt300(name) || vim_is_iris(name))
|
|
||||||
return TRUE;
|
|
||||||
return ( STRNICMP(name, "hpterm", 6) == 0
|
|
||||||
|| STRNICMP(name, "sun-cmd", 7) == 0
|
|
||||||
|| STRNICMP(name, "screen", 6) == 0
|
|
||||||
|| STRNICMP(name, "tmux", 4) == 0
|
|
||||||
|| STRNICMP(name, "dtterm", 6) == 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Insert user name in s[len].
|
* Insert user name in s[len].
|
||||||
* Return OK if a name found.
|
* Return OK if a name found.
|
||||||
|
@@ -23,7 +23,6 @@ int use_xterm_like_mouse(char_u *name);
|
|||||||
int use_xterm_mouse(void);
|
int use_xterm_mouse(void);
|
||||||
int vim_is_iris(char_u *name);
|
int vim_is_iris(char_u *name);
|
||||||
int vim_is_vt300(char_u *name);
|
int vim_is_vt300(char_u *name);
|
||||||
int vim_is_fastterm(char_u *name);
|
|
||||||
int mch_get_user_name(char_u *s, int len);
|
int mch_get_user_name(char_u *s, int len);
|
||||||
int mch_get_uname(uid_t uid, char_u *s, int len);
|
int mch_get_uname(uid_t uid, char_u *s, int len);
|
||||||
void mch_get_host_name(char_u *s, int len);
|
void mch_get_host_name(char_u *s, int len);
|
||||||
|
15
src/term.c
15
src/term.c
@@ -2174,21 +2174,6 @@ set_termname(char_u *term)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(UNIX) || defined(VMS)
|
|
||||||
/*
|
|
||||||
* 'ttyfast' is default on for xterm, iris-ansi and a few others.
|
|
||||||
*/
|
|
||||||
if (vim_is_fastterm(term))
|
|
||||||
p_tf = TRUE;
|
|
||||||
#endif
|
|
||||||
#ifdef USE_TERM_CONSOLE
|
|
||||||
/*
|
|
||||||
* 'ttyfast' is default on consoles
|
|
||||||
*/
|
|
||||||
if (term_console)
|
|
||||||
p_tf = TRUE;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
ttest(TRUE); // make sure we have a valid set of terminal codes
|
ttest(TRUE); // make sure we have a valid set of terminal codes
|
||||||
|
|
||||||
full_screen = TRUE; // we can use termcap codes from now on
|
full_screen = TRUE; // we can use termcap codes from now on
|
||||||
|
@@ -695,6 +695,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
948,
|
||||||
/**/
|
/**/
|
||||||
947,
|
947,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user