-*intro.txt* For Vim version 9.1. Last change: 2025 Oct 12
+*intro.txt* For Vim version 9.1. Last change: 2025 Nov 01
VIM REFERENCE MANUAL by Bram Moolenaar
<Del> delete 127
<CSI> command sequence intro ALT-Esc 155 *<CSI>*
<xCSI> CSI when typed in the GUI *<xCSI>*
+<OSC> operating system command 157 *<OSC>*
+<xOSC> finished OSC response *<xOSC>*
<EOL> end-of-line (can be <CR>, <NL> or <CR><NL>,
depends on system and 'fileformat') *<EOL>*
<NL> motion.txt /*<NL>*
<Nop> map.txt /*<Nop>*
<Nul> intro.txt /*<Nul>*
+<OSC> intro.txt /*<OSC>*
<PageDown> scroll.txt /*<PageDown>*
<PageUp> scroll.txt /*<PageUp>*
<Plug> map.txt /*<Plug>*
<xHome> term.txt /*<xHome>*
<xHome>-xterm term.txt /*<xHome>-xterm*
<xLeft> term.txt /*<xLeft>*
+<xOSC> intro.txt /*<xOSC>*
<xRight> term.txt /*<xRight>*
<xUp> term.txt /*<xUp>*
= change.txt /*=*
, KE_SID = 106 // <SID> special key, followed by {nr};
, KE_ESC = 107 // used for K_ESC
, KE_WILD = 108 // triggers wildmode completion
+ , KE_OSC = 109 // OSC sequence
};
/*
#define K_MOUSERIGHT TERMCAP2KEY(KS_EXTRA, KE_MOUSERIGHT)
#define K_CSI TERMCAP2KEY(KS_EXTRA, KE_CSI)
+#define K_OSC TERMCAP2KEY(KS_EXTRA, KE_OSC)
#define K_SNR TERMCAP2KEY(KS_EXTRA, KE_SNR)
#define K_PLUG TERMCAP2KEY(KS_EXTRA, KE_PLUG)
#define K_CMDWIN TERMCAP2KEY(KS_EXTRA, KE_CMDWIN)
{TRUE, NL, STRING_INIT("NewLine"), TRUE},
{TRUE, NL, STRING_INIT("NL"), FALSE},
{TRUE, K_ZERO, STRING_INIT("Nul"), FALSE},
+ {TRUE, OSC, STRING_INIT("OSC"), FALSE},
{TRUE, K_PAGEDOWN, STRING_INIT("PageDown"), FALSE},
{TRUE, K_PAGEUP, STRING_INIT("PageUp"), FALSE},
{TRUE, K_PE, STRING_INIT("PasteEnd"), FALSE},
{TRUE, K_XF4, STRING_INIT("xF4"), FALSE},
{TRUE, K_XHOME, STRING_INIT("xHome"), FALSE},
{TRUE, K_XLEFT, STRING_INIT("xLeft"), FALSE},
+ {TRUE, K_OSC, STRING_INIT("xOSC"), FALSE},
{TRUE, K_XRIGHT, STRING_INIT("xRight"), FALSE},
{TRUE, K_XUP, STRING_INIT("xUp"), FALSE},
{TRUE, K_ZEND, STRING_INIT("zEnd"), FALSE},
last_char = ((char_u *)osc_state.buf.ga_data)[osc_state.buf.ga_len - 1];
key_name[0] = (int)KS_EXTRA;
- key_name[1] = (int)KE_IGNORE;
// Read data and append to buffer. If we reach a terminator, then
// finally set the vim var.
{
osc_state.processing = FALSE;
+ key_name[1] = (int)KE_OSC;
+
ga_concat_len(&osc_state.buf, tp, i + 1 + (tp[i] == ESC));
ga_append(&osc_state.buf, NUL);
*slen = i + 1 + (tp[i] == ESC);
return OK;
}
+ key_name[1] = (int)KE_IGNORE;
+
#ifdef ELAPSED_FUNC
if (ELAPSED_FUNC(osc_state.start_tv) >= p_ost)
{
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 1895,
/**/
1894,
/**/