"Fossies" - the Fresh Open Source Software Archive

Member "vim-8.2.1354/src/optiondefs.h" (2 Aug 2020, 96910 Bytes) of package /linux/misc/vim-8.2.1354.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "optiondefs.h" see the Fossies "Dox" file reference documentation.

    1 /* vi:set ts=8 sts=4 sw=4 noet:
    2  *
    3  * VIM - Vi IMproved    by Bram Moolenaar
    4  *
    5  * Do ":help uganda"  in Vim to read copying and usage conditions.
    6  * Do ":help credits" in Vim to see a list of people who contributed.
    7  */
    8 
    9 /*
   10  * optiondefs.h: option definitions
   11  */
   12 
   13 // The options that are local to a window or buffer have "indir" set to one of
   14 // these values.  Special values:
   15 // PV_NONE: global option.
   16 // PV_WIN is added: window-local option
   17 // PV_BUF is added: buffer-local option
   18 // PV_BOTH is added: global option which also has a local value.
   19 #define PV_BOTH 0x1000
   20 #define PV_WIN  0x2000
   21 #define PV_BUF  0x4000
   22 #define PV_MASK 0x0fff
   23 #define OPT_WIN(x)  (idopt_T)(PV_WIN + (int)(x))
   24 #define OPT_BUF(x)  (idopt_T)(PV_BUF + (int)(x))
   25 #define OPT_BOTH(x) (idopt_T)(PV_BOTH + (int)(x))
   26 
   27 // Definition of the PV_ values for buffer-local options.
   28 // The BV_ values are defined in option.h.
   29 #define PV_AI       OPT_BUF(BV_AI)
   30 #define PV_AR       OPT_BOTH(OPT_BUF(BV_AR))
   31 #define PV_BKC      OPT_BOTH(OPT_BUF(BV_BKC))
   32 #define PV_BH       OPT_BUF(BV_BH)
   33 #define PV_BT       OPT_BUF(BV_BT)
   34 #ifdef FEAT_QUICKFIX
   35 # define PV_EFM     OPT_BOTH(OPT_BUF(BV_EFM))
   36 # define PV_GP      OPT_BOTH(OPT_BUF(BV_GP))
   37 # define PV_MP      OPT_BOTH(OPT_BUF(BV_MP))
   38 #endif
   39 #define PV_BIN      OPT_BUF(BV_BIN)
   40 #define PV_BL       OPT_BUF(BV_BL)
   41 #define PV_BOMB     OPT_BUF(BV_BOMB)
   42 #define PV_CI       OPT_BUF(BV_CI)
   43 #ifdef FEAT_CINDENT
   44 # define PV_CIN     OPT_BUF(BV_CIN)
   45 # define PV_CINK    OPT_BUF(BV_CINK)
   46 # define PV_CINO    OPT_BUF(BV_CINO)
   47 #endif
   48 #if defined(FEAT_SMARTINDENT) || defined(FEAT_CINDENT)
   49 # define PV_CINW    OPT_BUF(BV_CINW)
   50 #endif
   51 #define PV_CM       OPT_BOTH(OPT_BUF(BV_CM))
   52 #ifdef FEAT_FOLDING
   53 # define PV_CMS     OPT_BUF(BV_CMS)
   54 #endif
   55 #define PV_COM      OPT_BUF(BV_COM)
   56 #define PV_CPT      OPT_BUF(BV_CPT)
   57 #define PV_DICT OPT_BOTH(OPT_BUF(BV_DICT))
   58 #define PV_TSR      OPT_BOTH(OPT_BUF(BV_TSR))
   59 #define PV_CSL      OPT_BUF(BV_CSL)
   60 #ifdef FEAT_COMPL_FUNC
   61 # define PV_CFU     OPT_BUF(BV_CFU)
   62 #endif
   63 #ifdef FEAT_FIND_ID
   64 # define PV_DEF     OPT_BOTH(OPT_BUF(BV_DEF))
   65 # define PV_INC     OPT_BOTH(OPT_BUF(BV_INC))
   66 #endif
   67 #define PV_EOL      OPT_BUF(BV_EOL)
   68 #define PV_FIXEOL   OPT_BUF(BV_FIXEOL)
   69 #define PV_EP       OPT_BOTH(OPT_BUF(BV_EP))
   70 #define PV_ET       OPT_BUF(BV_ET)
   71 #define PV_FENC     OPT_BUF(BV_FENC)
   72 #if defined(FEAT_BEVAL) && defined(FEAT_EVAL)
   73 # define PV_BEXPR   OPT_BOTH(OPT_BUF(BV_BEXPR))
   74 #endif
   75 #define PV_FP       OPT_BOTH(OPT_BUF(BV_FP))
   76 #ifdef FEAT_EVAL
   77 # define PV_FEX     OPT_BUF(BV_FEX)
   78 #endif
   79 #define PV_FF       OPT_BUF(BV_FF)
   80 #define PV_FLP      OPT_BUF(BV_FLP)
   81 #define PV_FO       OPT_BUF(BV_FO)
   82 #define PV_FT       OPT_BUF(BV_FT)
   83 #define PV_IMI      OPT_BUF(BV_IMI)
   84 #define PV_IMS      OPT_BUF(BV_IMS)
   85 #if defined(FEAT_CINDENT) && defined(FEAT_EVAL)
   86 # define PV_INDE    OPT_BUF(BV_INDE)
   87 # define PV_INDK    OPT_BUF(BV_INDK)
   88 #endif
   89 #if defined(FEAT_FIND_ID) && defined(FEAT_EVAL)
   90 # define PV_INEX    OPT_BUF(BV_INEX)
   91 #endif
   92 #define PV_INF      OPT_BUF(BV_INF)
   93 #define PV_ISK      OPT_BUF(BV_ISK)
   94 #ifdef FEAT_CRYPT
   95 # define PV_KEY     OPT_BUF(BV_KEY)
   96 #endif
   97 #ifdef FEAT_KEYMAP
   98 # define PV_KMAP    OPT_BUF(BV_KMAP)
   99 #endif
  100 #define PV_KP       OPT_BOTH(OPT_BUF(BV_KP))
  101 #ifdef FEAT_LISP
  102 # define PV_LISP    OPT_BUF(BV_LISP)
  103 # define PV_LW      OPT_BOTH(OPT_BUF(BV_LW))
  104 #endif
  105 #define PV_MENC     OPT_BOTH(OPT_BUF(BV_MENC))
  106 #define PV_MA       OPT_BUF(BV_MA)
  107 #define PV_ML       OPT_BUF(BV_ML)
  108 #define PV_MOD      OPT_BUF(BV_MOD)
  109 #define PV_MPS      OPT_BUF(BV_MPS)
  110 #define PV_NF       OPT_BUF(BV_NF)
  111 #ifdef FEAT_COMPL_FUNC
  112 # define PV_OFU     OPT_BUF(BV_OFU)
  113 #endif
  114 #define PV_PATH     OPT_BOTH(OPT_BUF(BV_PATH))
  115 #define PV_PI       OPT_BUF(BV_PI)
  116 #ifdef FEAT_TEXTOBJ
  117 # define PV_QE      OPT_BUF(BV_QE)
  118 #endif
  119 #define PV_RO       OPT_BUF(BV_RO)
  120 #ifdef FEAT_SMARTINDENT
  121 # define PV_SI      OPT_BUF(BV_SI)
  122 #endif
  123 #define PV_SN       OPT_BUF(BV_SN)
  124 #ifdef FEAT_SYN_HL
  125 # define PV_SMC     OPT_BUF(BV_SMC)
  126 # define PV_SYN     OPT_BUF(BV_SYN)
  127 #endif
  128 #ifdef FEAT_SPELL
  129 # define PV_SPC     OPT_BUF(BV_SPC)
  130 # define PV_SPF     OPT_BUF(BV_SPF)
  131 # define PV_SPL     OPT_BUF(BV_SPL)
  132 # define PV_SPO     OPT_BUF(BV_SPO)
  133 #endif
  134 #define PV_STS      OPT_BUF(BV_STS)
  135 #ifdef FEAT_SEARCHPATH
  136 # define PV_SUA     OPT_BUF(BV_SUA)
  137 #endif
  138 #define PV_SW       OPT_BUF(BV_SW)
  139 #define PV_SWF      OPT_BUF(BV_SWF)
  140 #ifdef FEAT_EVAL
  141 # define PV_TFU     OPT_BUF(BV_TFU)
  142 #endif
  143 #define PV_TAGS     OPT_BOTH(OPT_BUF(BV_TAGS))
  144 #define PV_TC       OPT_BOTH(OPT_BUF(BV_TC))
  145 #define PV_TS       OPT_BUF(BV_TS)
  146 #define PV_TW       OPT_BUF(BV_TW)
  147 #define PV_TX       OPT_BUF(BV_TX)
  148 #ifdef FEAT_PERSISTENT_UNDO
  149 # define PV_UDF     OPT_BUF(BV_UDF)
  150 #endif
  151 #define PV_WM       OPT_BUF(BV_WM)
  152 #ifdef FEAT_VARTABS
  153 # define PV_VSTS        OPT_BUF(BV_VSTS)
  154 # define PV_VTS     OPT_BUF(BV_VTS)
  155 #endif
  156 
  157 // Definition of the PV_ values for window-local options.
  158 // The WV_ values are defined in option.h.
  159 #define PV_LIST     OPT_WIN(WV_LIST)
  160 #ifdef FEAT_ARABIC
  161 # define PV_ARAB    OPT_WIN(WV_ARAB)
  162 #endif
  163 #ifdef FEAT_LINEBREAK
  164 # define PV_BRI     OPT_WIN(WV_BRI)
  165 # define PV_BRIOPT  OPT_WIN(WV_BRIOPT)
  166 #endif
  167 # define PV_WCR     OPT_WIN(WV_WCR)
  168 #ifdef FEAT_DIFF
  169 # define PV_DIFF    OPT_WIN(WV_DIFF)
  170 #endif
  171 #ifdef FEAT_FOLDING
  172 # define PV_FDC     OPT_WIN(WV_FDC)
  173 # define PV_FEN     OPT_WIN(WV_FEN)
  174 # define PV_FDI     OPT_WIN(WV_FDI)
  175 # define PV_FDL     OPT_WIN(WV_FDL)
  176 # define PV_FDM     OPT_WIN(WV_FDM)
  177 # define PV_FML     OPT_WIN(WV_FML)
  178 # define PV_FDN     OPT_WIN(WV_FDN)
  179 # ifdef FEAT_EVAL
  180 #  define PV_FDE    OPT_WIN(WV_FDE)
  181 #  define PV_FDT    OPT_WIN(WV_FDT)
  182 # endif
  183 # define PV_FMR     OPT_WIN(WV_FMR)
  184 #endif
  185 #ifdef FEAT_LINEBREAK
  186 # define PV_LBR     OPT_WIN(WV_LBR)
  187 #endif
  188 #define PV_NU       OPT_WIN(WV_NU)
  189 #define PV_RNU      OPT_WIN(WV_RNU)
  190 #ifdef FEAT_LINEBREAK
  191 # define PV_NUW     OPT_WIN(WV_NUW)
  192 #endif
  193 #if defined(FEAT_QUICKFIX)
  194 # define PV_PVW     OPT_WIN(WV_PVW)
  195 #endif
  196 #ifdef FEAT_RIGHTLEFT
  197 # define PV_RL      OPT_WIN(WV_RL)
  198 # define PV_RLC     OPT_WIN(WV_RLC)
  199 #endif
  200 #define PV_SCBIND   OPT_WIN(WV_SCBIND)
  201 #define PV_SCROLL   OPT_WIN(WV_SCROLL)
  202 #define PV_SISO     OPT_BOTH(OPT_WIN(WV_SISO))
  203 #define PV_SO       OPT_BOTH(OPT_WIN(WV_SO))
  204 #ifdef FEAT_SPELL
  205 # define PV_SPELL   OPT_WIN(WV_SPELL)
  206 #endif
  207 #ifdef FEAT_SYN_HL
  208 # define PV_CUC     OPT_WIN(WV_CUC)
  209 # define PV_CUL     OPT_WIN(WV_CUL)
  210 # define PV_CULOPT  OPT_WIN(WV_CULOPT)
  211 # define PV_CC      OPT_WIN(WV_CC)
  212 #endif
  213 #ifdef FEAT_LINEBREAK
  214 # define PV_SBR     OPT_BOTH(OPT_WIN(WV_SBR))
  215 #endif
  216 #ifdef FEAT_STL_OPT
  217 # define PV_STL     OPT_BOTH(OPT_WIN(WV_STL))
  218 #endif
  219 #define PV_UL       OPT_BOTH(OPT_BUF(BV_UL))
  220 # define PV_WFH     OPT_WIN(WV_WFH)
  221 # define PV_WFW     OPT_WIN(WV_WFW)
  222 #define PV_WRAP     OPT_WIN(WV_WRAP)
  223 #define PV_CRBIND   OPT_WIN(WV_CRBIND)
  224 #ifdef FEAT_CONCEAL
  225 # define PV_COCU    OPT_WIN(WV_COCU)
  226 # define PV_COLE    OPT_WIN(WV_COLE)
  227 #endif
  228 #ifdef FEAT_TERMINAL
  229 # define PV_TWK     OPT_WIN(WV_TWK)
  230 # define PV_TWS     OPT_WIN(WV_TWS)
  231 # define PV_TWSL    OPT_BUF(BV_TWSL)
  232 #endif
  233 #ifdef FEAT_SIGNS
  234 # define PV_SCL     OPT_WIN(WV_SCL)
  235 #endif
  236 
  237 // WV_ and BV_ values get typecasted to this for the "indir" field
  238 typedef enum
  239 {
  240     PV_NONE = 0,
  241     PV_MAXVAL = 0xffff    // to avoid warnings for value out of range
  242 } idopt_T;
  243 
  244 // Options local to a window have a value local to a buffer and global to all
  245 // buffers.  Indicate this by setting "var" to VAR_WIN.
  246 #define VAR_WIN ((char_u *)-1)
  247 
  248 // Saved values for when 'bin' is set.
  249 static int  p_et_nobin;
  250 static int  p_ml_nobin;
  251 static long p_tw_nobin;
  252 static long p_wm_nobin;
  253 
  254 // Saved values for when 'paste' is set
  255 static int  p_ai_nopaste;
  256 static int  p_et_nopaste;
  257 static long p_sts_nopaste;
  258 static long p_tw_nopaste;
  259 static long p_wm_nopaste;
  260 #ifdef FEAT_VARTABS
  261 static char_u   *p_vsts_nopaste;
  262 #endif
  263 
  264 struct vimoption
  265 {
  266     char    *fullname;  // full option name
  267     char    *shortname; // permissible abbreviation
  268     long_u  flags;      // see below
  269     char_u  *var;       // global option: pointer to variable;
  270                 // window-local option: VAR_WIN;
  271                 // buffer-local option: global value
  272     idopt_T indir;      // global option: PV_NONE;
  273                 // local option: indirect option index
  274     char_u  *def_val[2];    // default values for variable (vi and vim)
  275 #ifdef FEAT_EVAL
  276     sctx_T  script_ctx; // script context where the option was last set
  277 # define SCTX_INIT , {0, 0, 0, 1}
  278 #else
  279 # define SCTX_INIT
  280 #endif
  281 };
  282 
  283 #define VI_DEFAULT  0       // def_val[VI_DEFAULT] is Vi default value
  284 #define VIM_DEFAULT 1       // def_val[VIM_DEFAULT] is Vim default value
  285 
  286 #define ISK_LATIN1  (char_u *)"@,48-57,_,192-255"
  287 
  288 // 'isprint' for latin1 is also used for MS-Windows cp1252, where 0x80 is used
  289 // for the currency sign.
  290 #if defined(MSWIN)
  291 # define ISP_LATIN1 (char_u *)"@,~-255"
  292 #else
  293 # define ISP_LATIN1 (char_u *)"@,161-255"
  294 #endif
  295 
  296 # define HIGHLIGHT_INIT "8:SpecialKey,~:EndOfBuffer,@:NonText,d:Directory,e:ErrorMsg,i:IncSearch,l:Search,m:MoreMsg,M:ModeMsg,n:LineNr,a:LineNrAbove,b:LineNrBelow,N:CursorLineNr,r:Question,s:StatusLine,S:StatusLineNC,c:VertSplit,t:Title,v:Visual,V:VisualNOS,w:WarningMsg,W:WildMenu,f:Folded,F:FoldColumn,A:DiffAdd,C:DiffChange,D:DiffDelete,T:DiffText,>:SignColumn,-:Conceal,B:SpellBad,P:SpellCap,R:SpellRare,L:SpellLocal,+:Pmenu,=:PmenuSel,x:PmenuSbar,X:PmenuThumb,*:TabLine,#:TabLineSel,_:TabLineFill,!:CursorColumn,.:CursorLine,o:ColorColumn,q:QuickFixLine,z:StatusLineTerm,Z:StatusLineTermNC"
  297 
  298 // Default python version for pyx* commands
  299 #if defined(FEAT_PYTHON) && defined(FEAT_PYTHON3)
  300 # define DEFAULT_PYTHON_VER 0
  301 #elif defined(FEAT_PYTHON3)
  302 # define DEFAULT_PYTHON_VER 3
  303 #elif defined(FEAT_PYTHON)
  304 # define DEFAULT_PYTHON_VER 2
  305 #else
  306 # define DEFAULT_PYTHON_VER 0
  307 #endif
  308 
  309 // used for 'cinkeys' and 'indentkeys'
  310 #define INDENTKEYS_DEFAULT (char_u *)"0{,0},0),0],:,0#,!^F,o,O,e"
  311 
  312 // options[] is initialized here.
  313 // The order of the options MUST be alphabetic for ":set all" and findoption().
  314 // All option names MUST start with a lowercase letter (for findoption()).
  315 // Exception: "t_" options are at the end.
  316 // The options with a NULL variable are 'hidden': a set command for them is
  317 // ignored and they are not printed.
  318 static struct vimoption options[] =
  319 {
  320     {"aleph",       "al",   P_NUM|P_VI_DEF|P_CURSWANT,
  321 #ifdef FEAT_RIGHTLEFT
  322                 (char_u *)&p_aleph, PV_NONE,
  323 #else
  324                 (char_u *)NULL, PV_NONE,
  325 #endif
  326                 {
  327 #if defined(MSWIN) && !defined(FEAT_GUI_MSWIN)
  328                 (char_u *)128L,
  329 #else
  330                 (char_u *)224L,
  331 #endif
  332                         (char_u *)0L} SCTX_INIT},
  333     {"antialias",   "anti", P_BOOL|P_VI_DEF|P_VIM|P_RCLR,
  334 #if defined(FEAT_GUI_MAC)
  335                 (char_u *)&p_antialias, PV_NONE,
  336                 {(char_u *)FALSE, (char_u *)FALSE}
  337 #else
  338                 (char_u *)NULL, PV_NONE,
  339                 {(char_u *)FALSE, (char_u *)FALSE}
  340 #endif
  341                 SCTX_INIT},
  342     {"arabic",      "arab", P_BOOL|P_VI_DEF|P_VIM|P_CURSWANT,
  343 #ifdef FEAT_ARABIC
  344                 (char_u *)VAR_WIN, PV_ARAB,
  345 #else
  346                 (char_u *)NULL, PV_NONE,
  347 #endif
  348                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
  349     {"arabicshape", "arshape", P_BOOL|P_VI_DEF|P_VIM|P_RCLR,
  350 #ifdef FEAT_ARABIC
  351                 (char_u *)&p_arshape, PV_NONE,
  352 #else
  353                 (char_u *)NULL, PV_NONE,
  354 #endif
  355                 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
  356     {"allowrevins", "ari",  P_BOOL|P_VI_DEF|P_VIM,
  357 #ifdef FEAT_RIGHTLEFT
  358                 (char_u *)&p_ari, PV_NONE,
  359 #else
  360                 (char_u *)NULL, PV_NONE,
  361 #endif
  362                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
  363     {"altkeymap",   "akm",  P_BOOL|P_VI_DEF,
  364                 (char_u *)NULL, PV_NONE,
  365                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
  366     {"ambiwidth",  "ambw",  P_STRING|P_VI_DEF|P_RCLR,
  367                 (char_u *)&p_ambw, PV_NONE,
  368                 {(char_u *)"single", (char_u *)0L}
  369                 SCTX_INIT},
  370     {"autochdir",  "acd",   P_BOOL|P_VI_DEF,
  371 #ifdef FEAT_AUTOCHDIR
  372                 (char_u *)&p_acd, PV_NONE,
  373                 {(char_u *)FALSE, (char_u *)0L}
  374 #else
  375                 (char_u *)NULL, PV_NONE,
  376                 {(char_u *)0L, (char_u *)0L}
  377 #endif
  378                 SCTX_INIT},
  379     {"autoindent",  "ai",   P_BOOL|P_VI_DEF,
  380                 (char_u *)&p_ai, PV_AI,
  381                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
  382     {"autoprint",   "ap",   P_BOOL|P_VI_DEF,
  383                 (char_u *)NULL, PV_NONE,
  384                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
  385     {"autoread",    "ar",   P_BOOL|P_VI_DEF,
  386                 (char_u *)&p_ar, PV_AR,
  387                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
  388     {"autowrite",   "aw",   P_BOOL|P_VI_DEF,
  389                 (char_u *)&p_aw, PV_NONE,
  390                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
  391     {"autowriteall","awa",  P_BOOL|P_VI_DEF,
  392                 (char_u *)&p_awa, PV_NONE,
  393                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
  394     {"background",  "bg",   P_STRING|P_VI_DEF|P_RCLR,
  395                 (char_u *)&p_bg, PV_NONE,
  396                 {
  397 #if (defined(MSWIN)) && !defined(FEAT_GUI)
  398                 (char_u *)"dark",
  399 #else
  400                 (char_u *)"light",
  401 #endif
  402                         (char_u *)0L} SCTX_INIT},
  403     {"backspace",   "bs",   P_STRING|P_VI_DEF|P_VIM|P_ONECOMMA|P_NODUP,
  404                 (char_u *)&p_bs, PV_NONE,
  405                 {(char_u *)"", (char_u *)0L} SCTX_INIT},
  406     {"backup",      "bk",   P_BOOL|P_VI_DEF|P_VIM,
  407                 (char_u *)&p_bk, PV_NONE,
  408                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
  409     {"backupcopy",  "bkc",  P_STRING|P_VIM|P_ONECOMMA|P_NODUP,
  410                 (char_u *)&p_bkc, PV_BKC,
  411 #ifdef UNIX
  412                 {(char_u *)"yes", (char_u *)"auto"}
  413 #else
  414                 {(char_u *)"auto", (char_u *)"auto"}
  415 #endif
  416                 SCTX_INIT},
  417     {"backupdir",   "bdir", P_STRING|P_EXPAND|P_VI_DEF|P_ONECOMMA
  418                                 |P_NODUP|P_SECURE,
  419                 (char_u *)&p_bdir, PV_NONE,
  420                 {(char_u *)DFLT_BDIR, (char_u *)0L} SCTX_INIT},
  421     {"backupext",   "bex",  P_STRING|P_VI_DEF|P_NFNAME,
  422                 (char_u *)&p_bex, PV_NONE,
  423                 {
  424 #ifdef VMS
  425                 (char_u *)"_",
  426 #else
  427                 (char_u *)"~",
  428 #endif
  429                         (char_u *)0L} SCTX_INIT},
  430     {"backupskip",  "bsk",  P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
  431 #ifdef FEAT_WILDIGN
  432                 (char_u *)&p_bsk, PV_NONE,
  433                 {(char_u *)"", (char_u *)0L}
  434 #else
  435                 (char_u *)NULL, PV_NONE,
  436                 {(char_u *)0L, (char_u *)0L}
  437 #endif
  438                 SCTX_INIT},
  439     {"balloondelay","bdlay",P_NUM|P_VI_DEF,
  440 #ifdef FEAT_BEVAL
  441                 (char_u *)&p_bdlay, PV_NONE,
  442                 {(char_u *)600L, (char_u *)0L}
  443 #else
  444                 (char_u *)NULL, PV_NONE,
  445                 {(char_u *)0L, (char_u *)0L}
  446 #endif
  447                 SCTX_INIT},
  448     {"ballooneval", "beval",P_BOOL|P_VI_DEF|P_NO_MKRC,
  449 #ifdef FEAT_BEVAL_GUI
  450                 (char_u *)&p_beval, PV_NONE,
  451                 {(char_u *)FALSE, (char_u *)0L}
  452 #else
  453                 (char_u *)NULL, PV_NONE,
  454                 {(char_u *)0L, (char_u *)0L}
  455 #endif
  456                 SCTX_INIT},
  457     {"balloonevalterm", "bevalterm",P_BOOL|P_VI_DEF|P_NO_MKRC,
  458 #ifdef FEAT_BEVAL_TERM
  459                 (char_u *)&p_bevalterm, PV_NONE,
  460                 {(char_u *)FALSE, (char_u *)0L}
  461 #else
  462                 (char_u *)NULL, PV_NONE,
  463                 {(char_u *)0L, (char_u *)0L}
  464 #endif
  465                 SCTX_INIT},
  466     {"balloonexpr", "bexpr", P_STRING|P_ALLOCED|P_VI_DEF|P_VIM|P_MLE,
  467 #if defined(FEAT_BEVAL) && defined(FEAT_EVAL)
  468                 (char_u *)&p_bexpr, PV_BEXPR,
  469                 {(char_u *)"", (char_u *)0L}
  470 #else
  471                 (char_u *)NULL, PV_NONE,
  472                 {(char_u *)0L, (char_u *)0L}
  473 #endif
  474                 SCTX_INIT},
  475     {"beautify",    "bf",   P_BOOL|P_VI_DEF,
  476                 (char_u *)NULL, PV_NONE,
  477                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
  478     {"belloff",      "bo",  P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
  479                 (char_u *)&p_bo, PV_NONE,
  480                 {(char_u *)"", (char_u *)0L} SCTX_INIT},
  481     {"binary",      "bin",  P_BOOL|P_VI_DEF|P_RSTAT,
  482                 (char_u *)&p_bin, PV_BIN,
  483                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
  484     {"bioskey",     "biosk",P_BOOL|P_VI_DEF,
  485                 (char_u *)NULL, PV_NONE,
  486                 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
  487     {"bomb",        NULL,   P_BOOL|P_NO_MKRC|P_VI_DEF|P_RSTAT,
  488                 (char_u *)&p_bomb, PV_BOMB,
  489                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
  490     {"breakat",     "brk",  P_STRING|P_VI_DEF|P_RALL|P_FLAGLIST,
  491 #ifdef FEAT_LINEBREAK
  492                 (char_u *)&p_breakat, PV_NONE,
  493                 {(char_u *)" \t!@*-+;:,./?", (char_u *)0L}
  494 #else
  495                 (char_u *)NULL, PV_NONE,
  496                 {(char_u *)0L, (char_u *)0L}
  497 #endif
  498                 SCTX_INIT},
  499     {"breakindent",   "bri",  P_BOOL|P_VI_DEF|P_VIM|P_RWIN,
  500 #ifdef FEAT_LINEBREAK
  501                 (char_u *)VAR_WIN, PV_BRI,
  502                 {(char_u *)FALSE, (char_u *)0L}
  503 #else
  504                 (char_u *)NULL, PV_NONE,
  505                 {(char_u *)0L, (char_u *)0L}
  506 #endif
  507                 SCTX_INIT},
  508     {"breakindentopt", "briopt", P_STRING|P_ALLOCED|P_VI_DEF|P_RBUF
  509                           |P_ONECOMMA|P_NODUP,
  510 #ifdef FEAT_LINEBREAK
  511                 (char_u *)VAR_WIN, PV_BRIOPT,
  512                 {(char_u *)"", (char_u *)NULL}
  513 #else
  514                 (char_u *)NULL, PV_NONE,
  515                 {(char_u *)"", (char_u *)NULL}
  516 #endif
  517                 SCTX_INIT},
  518     {"browsedir",   "bsdir",P_STRING|P_VI_DEF,
  519 #ifdef FEAT_BROWSE
  520                 (char_u *)&p_bsdir, PV_NONE,
  521                 {(char_u *)"last", (char_u *)0L}
  522 #else
  523                 (char_u *)NULL, PV_NONE,
  524                 {(char_u *)0L, (char_u *)0L}
  525 #endif
  526                 SCTX_INIT},
  527     {"bufhidden",   "bh",   P_STRING|P_ALLOCED|P_VI_DEF|P_NOGLOB,
  528                 (char_u *)&p_bh, PV_BH,
  529                 {(char_u *)"", (char_u *)0L}
  530                 SCTX_INIT},
  531     {"buflisted",   "bl",   P_BOOL|P_VI_DEF|P_NOGLOB,
  532                 (char_u *)&p_bl, PV_BL,
  533                 {(char_u *)1L, (char_u *)0L}
  534                 SCTX_INIT},
  535     {"buftype",     "bt",   P_STRING|P_ALLOCED|P_VI_DEF|P_NOGLOB,
  536                 (char_u *)&p_bt, PV_BT,
  537                 {(char_u *)"", (char_u *)0L}
  538                 SCTX_INIT},
  539     {"casemap",     "cmp",   P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
  540                 (char_u *)&p_cmp, PV_NONE,
  541                 {(char_u *)"internal,keepascii", (char_u *)0L}
  542                 SCTX_INIT},
  543     {"cdpath",      "cd",   P_STRING|P_EXPAND|P_VI_DEF|P_SECURE|P_COMMA|P_NODUP,
  544 #ifdef FEAT_SEARCHPATH
  545                 (char_u *)&p_cdpath, PV_NONE,
  546                 {(char_u *)",,", (char_u *)0L}
  547 #else
  548                 (char_u *)NULL, PV_NONE,
  549                 {(char_u *)0L, (char_u *)0L}
  550 #endif
  551                 SCTX_INIT},
  552     {"cedit",       NULL,   P_STRING,
  553 #ifdef FEAT_CMDWIN
  554                 (char_u *)&p_cedit, PV_NONE,
  555                 {(char_u *)"", (char_u *)CTRL_F_STR}
  556 #else
  557                 (char_u *)NULL, PV_NONE,
  558                 {(char_u *)0L, (char_u *)0L}
  559 #endif
  560                 SCTX_INIT},
  561     {"charconvert",  "ccv", P_STRING|P_VI_DEF|P_SECURE,
  562 #if defined(FEAT_EVAL)
  563                 (char_u *)&p_ccv, PV_NONE,
  564                 {(char_u *)"", (char_u *)0L}
  565 #else
  566                 (char_u *)NULL, PV_NONE,
  567                 {(char_u *)0L, (char_u *)0L}
  568 #endif
  569                 SCTX_INIT},
  570     {"cindent",     "cin",  P_BOOL|P_VI_DEF|P_VIM,
  571 #ifdef FEAT_CINDENT
  572                 (char_u *)&p_cin, PV_CIN,
  573 #else
  574                 (char_u *)NULL, PV_NONE,
  575 #endif
  576                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
  577     {"cinkeys",     "cink", P_STRING|P_ALLOCED|P_VI_DEF|P_ONECOMMA|P_NODUP,
  578 #ifdef FEAT_CINDENT
  579                 (char_u *)&p_cink, PV_CINK,
  580                 {INDENTKEYS_DEFAULT, (char_u *)0L}
  581 #else
  582                 (char_u *)NULL, PV_NONE,
  583                 {(char_u *)0L, (char_u *)0L}
  584 #endif
  585                 SCTX_INIT},
  586     {"cinoptions",  "cino", P_STRING|P_ALLOCED|P_VI_DEF|P_ONECOMMA|P_NODUP,
  587 #ifdef FEAT_CINDENT
  588                 (char_u *)&p_cino, PV_CINO,
  589 #else
  590                 (char_u *)NULL, PV_NONE,
  591 #endif
  592                 {(char_u *)"", (char_u *)0L} SCTX_INIT},
  593     {"cinwords",    "cinw", P_STRING|P_ALLOCED|P_VI_DEF|P_ONECOMMA|P_NODUP,
  594 #if defined(FEAT_SMARTINDENT) || defined(FEAT_CINDENT)
  595                 (char_u *)&p_cinw, PV_CINW,
  596                 {(char_u *)"if,else,while,do,for,switch",
  597                 (char_u *)0L}
  598 #else
  599                 (char_u *)NULL, PV_NONE,
  600                 {(char_u *)0L, (char_u *)0L}
  601 #endif
  602                 SCTX_INIT},
  603     {"clipboard",   "cb",   P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
  604 #ifdef FEAT_CLIPBOARD
  605                 (char_u *)&p_cb, PV_NONE,
  606 # ifdef FEAT_XCLIPBOARD
  607                 {(char_u *)"autoselect,exclude:cons\\|linux",
  608                                    (char_u *)0L}
  609 # else
  610                 {(char_u *)"", (char_u *)0L}
  611 # endif
  612 #else
  613                 (char_u *)NULL, PV_NONE,
  614                 {(char_u *)"", (char_u *)0L}
  615 #endif
  616                 SCTX_INIT},
  617     {"cmdheight",   "ch",   P_NUM|P_VI_DEF|P_RALL,
  618                 (char_u *)&p_ch, PV_NONE,
  619                 {(char_u *)1L, (char_u *)0L} SCTX_INIT},
  620     {"cmdwinheight", "cwh", P_NUM|P_VI_DEF,
  621 #ifdef FEAT_CMDWIN
  622                 (char_u *)&p_cwh, PV_NONE,
  623 #else
  624                 (char_u *)NULL, PV_NONE,
  625 #endif
  626                 {(char_u *)7L, (char_u *)0L} SCTX_INIT},
  627     {"colorcolumn", "cc",   P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP|P_RWIN,
  628 #ifdef FEAT_SYN_HL
  629                 (char_u *)VAR_WIN, PV_CC,
  630 #else
  631                 (char_u *)NULL, PV_NONE,
  632 #endif
  633                 {(char_u *)"", (char_u *)0L} SCTX_INIT},
  634     {"columns",     "co",   P_NUM|P_NODEFAULT|P_NO_MKRC|P_VI_DEF|P_RCLR,
  635                 (char_u *)&Columns, PV_NONE,
  636                 {(char_u *)80L, (char_u *)0L} SCTX_INIT},
  637     {"comments",    "com",  P_STRING|P_ALLOCED|P_VI_DEF|P_ONECOMMA
  638                               |P_NODUP|P_CURSWANT,
  639                 (char_u *)&p_com, PV_COM,
  640                 {(char_u *)"s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-",
  641                 (char_u *)0L}
  642                 SCTX_INIT},
  643     {"commentstring", "cms", P_STRING|P_ALLOCED|P_VI_DEF|P_CURSWANT,
  644 #ifdef FEAT_FOLDING
  645                 (char_u *)&p_cms, PV_CMS,
  646                 {(char_u *)"/*%s*/", (char_u *)0L}
  647 #else
  648                 (char_u *)NULL, PV_NONE,
  649                 {(char_u *)0L, (char_u *)0L}
  650 #endif
  651                 SCTX_INIT},
  652                 // P_PRI_MKRC isn't needed here, optval_default()
  653                 // always returns TRUE for 'compatible'
  654     {"compatible",  "cp",   P_BOOL|P_RALL,
  655                 (char_u *)&p_cp, PV_NONE,
  656                 {(char_u *)TRUE, (char_u *)FALSE} SCTX_INIT},
  657     {"complete",    "cpt",  P_STRING|P_ALLOCED|P_VI_DEF|P_ONECOMMA|P_NODUP,
  658                 (char_u *)&p_cpt, PV_CPT,
  659                 {(char_u *)".,w,b,u,t,i", (char_u *)0L}
  660                 SCTX_INIT},
  661     {"concealcursor","cocu", P_STRING|P_ALLOCED|P_RWIN|P_VI_DEF,
  662 #ifdef FEAT_CONCEAL
  663                 (char_u *)VAR_WIN, PV_COCU,
  664                 {(char_u *)"", (char_u *)NULL}
  665 #else
  666                 (char_u *)NULL, PV_NONE,
  667                 {(char_u *)NULL, (char_u *)0L}
  668 #endif
  669                 SCTX_INIT},
  670     {"conceallevel","cole", P_NUM|P_RWIN|P_VI_DEF,
  671 #ifdef FEAT_CONCEAL
  672                 (char_u *)VAR_WIN, PV_COLE,
  673 #else
  674                 (char_u *)NULL, PV_NONE,
  675 #endif
  676                 {(char_u *)0L, (char_u *)0L}
  677                 SCTX_INIT},
  678     {"completefunc", "cfu", P_STRING|P_ALLOCED|P_VI_DEF|P_SECURE,
  679 #ifdef FEAT_COMPL_FUNC
  680                 (char_u *)&p_cfu, PV_CFU,
  681                 {(char_u *)"", (char_u *)0L}
  682 #else
  683                 (char_u *)NULL, PV_NONE,
  684                 {(char_u *)0L, (char_u *)0L}
  685 #endif
  686                 SCTX_INIT},
  687     {"completeopt",   "cot",  P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
  688                 (char_u *)&p_cot, PV_NONE,
  689                 {(char_u *)"menu,preview", (char_u *)0L}
  690                 SCTX_INIT},
  691     {"completepopup", "cpp", P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
  692 #if defined(FEAT_PROP_POPUP) && defined(FEAT_QUICKFIX)
  693                 (char_u *)&p_cpp, PV_NONE,
  694                 {(char_u *)"", (char_u *)0L}
  695 #else
  696                 (char_u *)NULL, PV_NONE,
  697                 {(char_u *)NULL, (char_u *)0L}
  698 #endif
  699                 SCTX_INIT},
  700     {"completeslash",   "csl",  P_STRING|P_VI_DEF|P_VIM,
  701 #if defined(BACKSLASH_IN_FILENAME)
  702                 (char_u *)&p_csl, PV_CSL,
  703                 {(char_u *)"", (char_u *)0L}
  704 #else
  705                 (char_u *)NULL, PV_NONE,
  706                 {(char_u *)0L, (char_u *)0L}
  707 #endif
  708                 SCTX_INIT},
  709     {"confirm",     "cf",   P_BOOL|P_VI_DEF,
  710 #if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)
  711                 (char_u *)&p_confirm, PV_NONE,
  712 #else
  713                 (char_u *)NULL, PV_NONE,
  714 #endif
  715                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
  716     {"conskey",     "consk",P_BOOL|P_VI_DEF,
  717                 (char_u *)NULL, PV_NONE,
  718                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
  719     {"copyindent",  "ci",   P_BOOL|P_VI_DEF|P_VIM,
  720                 (char_u *)&p_ci, PV_CI,
  721                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
  722     {"cpoptions",   "cpo",  P_STRING|P_VIM|P_RALL|P_FLAGLIST,
  723                 (char_u *)&p_cpo, PV_NONE,
  724                 {(char_u *)CPO_VI, (char_u *)CPO_VIM}
  725                 SCTX_INIT},
  726     {"cryptmethod", "cm",   P_STRING|P_ALLOCED|P_VI_DEF,
  727 #ifdef FEAT_CRYPT
  728                 (char_u *)&p_cm, PV_CM,
  729                 {(char_u *)"blowfish2", (char_u *)0L}
  730 #else
  731                 (char_u *)NULL, PV_NONE,
  732                 {(char_u *)0L, (char_u *)0L}
  733 #endif
  734                 SCTX_INIT},
  735     {"cscopepathcomp", "cspc", P_NUM|P_VI_DEF|P_VIM,
  736 #ifdef FEAT_CSCOPE
  737                 (char_u *)&p_cspc, PV_NONE,
  738 #else
  739                 (char_u *)NULL, PV_NONE,
  740 #endif
  741                 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
  742     {"cscopeprg",   "csprg", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
  743 #ifdef FEAT_CSCOPE
  744                 (char_u *)&p_csprg, PV_NONE,
  745                 {(char_u *)"cscope", (char_u *)0L}
  746 #else
  747                 (char_u *)NULL, PV_NONE,
  748                 {(char_u *)0L, (char_u *)0L}
  749 #endif
  750                 SCTX_INIT},
  751     {"cscopequickfix", "csqf", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
  752 #if defined(FEAT_CSCOPE) && defined(FEAT_QUICKFIX)
  753                 (char_u *)&p_csqf, PV_NONE,
  754                 {(char_u *)"", (char_u *)0L}
  755 #else
  756                 (char_u *)NULL, PV_NONE,
  757                 {(char_u *)0L, (char_u *)0L}
  758 #endif
  759                 SCTX_INIT},
  760     {"cscoperelative", "csre", P_BOOL|P_VI_DEF|P_VIM,
  761 #ifdef FEAT_CSCOPE
  762                 (char_u *)&p_csre, PV_NONE,
  763 #else
  764                 (char_u *)NULL, PV_NONE,
  765 #endif
  766                 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
  767     {"cscopetag",   "cst",  P_BOOL|P_VI_DEF|P_VIM,
  768 #ifdef FEAT_CSCOPE
  769                 (char_u *)&p_cst, PV_NONE,
  770 #else
  771                 (char_u *)NULL, PV_NONE,
  772 #endif
  773                 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
  774     {"cscopetagorder", "csto", P_NUM|P_VI_DEF|P_VIM,
  775 #ifdef FEAT_CSCOPE
  776                 (char_u *)&p_csto, PV_NONE,
  777 #else
  778                 (char_u *)NULL, PV_NONE,
  779 #endif
  780                 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
  781     {"cscopeverbose", "csverb", P_BOOL|P_VI_DEF|P_VIM,
  782 #ifdef FEAT_CSCOPE
  783                 (char_u *)&p_csverbose, PV_NONE,
  784 #else
  785                 (char_u *)NULL, PV_NONE,
  786 #endif
  787                 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
  788     {"cursorbind",  "crb",  P_BOOL|P_VI_DEF,
  789                 (char_u *)VAR_WIN, PV_CRBIND,
  790                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
  791     {"cursorcolumn", "cuc", P_BOOL|P_VI_DEF|P_RWINONLY,
  792 #ifdef FEAT_SYN_HL
  793                 (char_u *)VAR_WIN, PV_CUC,
  794 #else
  795                 (char_u *)NULL, PV_NONE,
  796 #endif
  797                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
  798     {"cursorline",   "cul", P_BOOL|P_VI_DEF|P_RWINONLY,
  799 #ifdef FEAT_SYN_HL
  800                 (char_u *)VAR_WIN, PV_CUL,
  801 #else
  802                 (char_u *)NULL, PV_NONE,
  803 #endif
  804                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
  805     {"cursorlineopt", "culopt", P_STRING|P_VI_DEF|P_RWIN|P_ONECOMMA|P_NODUP,
  806 #ifdef FEAT_SYN_HL
  807                 (char_u *)VAR_WIN, PV_CULOPT,
  808 #else
  809                 (char_u *)NULL, PV_NONE,
  810 #endif
  811                 {(char_u *)"both", (char_u *)0L} SCTX_INIT},
  812     {"debug",       NULL,   P_STRING|P_VI_DEF,
  813                 (char_u *)&p_debug, PV_NONE,
  814                 {(char_u *)"", (char_u *)0L} SCTX_INIT},
  815     {"define",      "def",  P_STRING|P_ALLOCED|P_VI_DEF|P_CURSWANT,
  816 #ifdef FEAT_FIND_ID
  817                 (char_u *)&p_def, PV_DEF,
  818                 {(char_u *)"^\\s*#\\s*define", (char_u *)0L}
  819 #else
  820                 (char_u *)NULL, PV_NONE,
  821                 {(char_u *)NULL, (char_u *)0L}
  822 #endif
  823                 SCTX_INIT},
  824     {"delcombine", "deco",  P_BOOL|P_VI_DEF|P_VIM,
  825                 (char_u *)&p_deco, PV_NONE,
  826                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
  827     {"dictionary",  "dict", P_STRING|P_EXPAND|P_VI_DEF|P_ONECOMMA|P_NODUP|P_NDNAME,
  828                 (char_u *)&p_dict, PV_DICT,
  829                 {(char_u *)"", (char_u *)0L} SCTX_INIT},
  830     {"diff",        NULL,   P_BOOL|P_VI_DEF|P_RWIN|P_NOGLOB,
  831 #ifdef FEAT_DIFF
  832                 (char_u *)VAR_WIN, PV_DIFF,
  833 #else
  834                 (char_u *)NULL, PV_NONE,
  835 #endif
  836                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
  837     {"diffexpr",    "dex",  P_STRING|P_VI_DEF|P_SECURE|P_CURSWANT,
  838 #if defined(FEAT_DIFF) && defined(FEAT_EVAL)
  839                 (char_u *)&p_dex, PV_NONE,
  840                 {(char_u *)"", (char_u *)0L}
  841 #else
  842                 (char_u *)NULL, PV_NONE,
  843                 {(char_u *)0L, (char_u *)0L}
  844 #endif
  845                 SCTX_INIT},
  846     {"diffopt",     "dip",  P_STRING|P_ALLOCED|P_VI_DEF|P_RWIN|P_ONECOMMA
  847                                      |P_NODUP,
  848 #ifdef FEAT_DIFF
  849                 (char_u *)&p_dip, PV_NONE,
  850                 {(char_u *)"internal,filler,closeoff",
  851                                 (char_u *)NULL}
  852 #else
  853                 (char_u *)NULL, PV_NONE,
  854                 {(char_u *)"", (char_u *)NULL}
  855 #endif
  856                 SCTX_INIT},
  857     {"digraph",     "dg",   P_BOOL|P_VI_DEF|P_VIM,
  858 #ifdef FEAT_DIGRAPHS
  859                 (char_u *)&p_dg, PV_NONE,
  860 #else
  861                 (char_u *)NULL, PV_NONE,
  862 #endif
  863                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
  864     {"directory",   "dir",  P_STRING|P_EXPAND|P_VI_DEF|P_ONECOMMA
  865                                 |P_NODUP|P_SECURE,
  866                 (char_u *)&p_dir, PV_NONE,
  867                 {(char_u *)DFLT_DIR, (char_u *)0L} SCTX_INIT},
  868     {"display",     "dy",   P_STRING|P_VI_DEF|P_ONECOMMA|P_RALL|P_NODUP,
  869                 (char_u *)&p_dy, PV_NONE,
  870                 {(char_u *)"", (char_u *)0L} SCTX_INIT},
  871     {"eadirection", "ead",  P_STRING|P_VI_DEF,
  872                 (char_u *)&p_ead, PV_NONE,
  873                 {(char_u *)"both", (char_u *)0L}
  874                 SCTX_INIT},
  875     {"edcompatible","ed",   P_BOOL|P_VI_DEF,
  876                 (char_u *)&p_ed, PV_NONE,
  877                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
  878     {"emoji",  "emo",       P_BOOL|P_VI_DEF|P_RCLR,
  879                 (char_u *)&p_emoji, PV_NONE,
  880                 {(char_u *)TRUE, (char_u *)0L}
  881                 SCTX_INIT},
  882     {"encoding",    "enc",  P_STRING|P_VI_DEF|P_RCLR|P_NO_ML,
  883                 (char_u *)&p_enc, PV_NONE,
  884                 {(char_u *)ENC_DFLT, (char_u *)0L}
  885                 SCTX_INIT},
  886     {"endofline",   "eol",  P_BOOL|P_NO_MKRC|P_VI_DEF|P_RSTAT,
  887                 (char_u *)&p_eol, PV_EOL,
  888                 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
  889     {"equalalways", "ea",   P_BOOL|P_VI_DEF|P_RALL,
  890                 (char_u *)&p_ea, PV_NONE,
  891                 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
  892     {"equalprg",    "ep",   P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
  893                 (char_u *)&p_ep, PV_EP,
  894                 {(char_u *)"", (char_u *)0L} SCTX_INIT},
  895     {"errorbells",  "eb",   P_BOOL|P_VI_DEF,
  896                 (char_u *)&p_eb, PV_NONE,
  897                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
  898     {"errorfile",   "ef",   P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
  899 #ifdef FEAT_QUICKFIX
  900                 (char_u *)&p_ef, PV_NONE,
  901                 {(char_u *)DFLT_ERRORFILE, (char_u *)0L}
  902 #else
  903                 (char_u *)NULL, PV_NONE,
  904                 {(char_u *)NULL, (char_u *)0L}
  905 #endif
  906                 SCTX_INIT},
  907     {"errorformat", "efm",  P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
  908 #ifdef FEAT_QUICKFIX
  909                 (char_u *)&p_efm, PV_EFM,
  910                 {(char_u *)DFLT_EFM, (char_u *)0L}
  911 #else
  912                 (char_u *)NULL, PV_NONE,
  913                 {(char_u *)NULL, (char_u *)0L}
  914 #endif
  915                 SCTX_INIT},
  916     {"esckeys",     "ek",   P_BOOL|P_VIM,
  917                 (char_u *)&p_ek, PV_NONE,
  918                 {(char_u *)FALSE, (char_u *)TRUE} SCTX_INIT},
  919     {"eventignore", "ei",   P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
  920                 (char_u *)&p_ei, PV_NONE,
  921                 {(char_u *)"", (char_u *)0L} SCTX_INIT},
  922     {"expandtab",   "et",   P_BOOL|P_VI_DEF|P_VIM,
  923                 (char_u *)&p_et, PV_ET,
  924                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
  925     {"exrc",        "ex",   P_BOOL|P_VI_DEF|P_SECURE,
  926                 (char_u *)&p_exrc, PV_NONE,
  927                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
  928     {"fileencoding","fenc", P_STRING|P_ALLOCED|P_VI_DEF|P_RSTAT|P_RBUF
  929                                    |P_NO_MKRC,
  930                 (char_u *)&p_fenc, PV_FENC,
  931                 {(char_u *)"", (char_u *)0L}
  932                 SCTX_INIT},
  933     {"fileencodings","fencs", P_STRING|P_VI_DEF|P_ONECOMMA,
  934                 (char_u *)&p_fencs, PV_NONE,
  935                 {(char_u *)"ucs-bom", (char_u *)0L}
  936                 SCTX_INIT},
  937     {"fileformat",  "ff",   P_STRING|P_ALLOCED|P_VI_DEF|P_RSTAT|P_NO_MKRC
  938                                   |P_CURSWANT,
  939                 (char_u *)&p_ff, PV_FF,
  940                 {(char_u *)DFLT_FF, (char_u *)0L} SCTX_INIT},
  941     {"fileformats", "ffs",  P_STRING|P_VIM|P_ONECOMMA|P_NODUP,
  942                 (char_u *)&p_ffs, PV_NONE,
  943                 {(char_u *)DFLT_FFS_VI, (char_u *)DFLT_FFS_VIM}
  944                 SCTX_INIT},
  945     {"fileignorecase", "fic", P_BOOL|P_VI_DEF,
  946                 (char_u *)&p_fic, PV_NONE,
  947                 {
  948 #ifdef CASE_INSENSITIVE_FILENAME
  949                     (char_u *)TRUE,
  950 #else
  951                     (char_u *)FALSE,
  952 #endif
  953                     (char_u *)0L} SCTX_INIT},
  954     {"filetype",    "ft",   P_STRING|P_ALLOCED|P_VI_DEF|P_NOGLOB|P_NFNAME,
  955                 (char_u *)&p_ft, PV_FT,
  956                 {(char_u *)"", (char_u *)0L}
  957                 SCTX_INIT},
  958     {"fillchars",   "fcs",  P_STRING|P_VI_DEF|P_RALL|P_ONECOMMA|P_NODUP,
  959                 (char_u *)&p_fcs, PV_NONE,
  960                 {(char_u *)"vert:|,fold:-", (char_u *)0L}
  961                 SCTX_INIT},
  962     {"fixendofline",  "fixeol", P_BOOL|P_VI_DEF|P_RSTAT,
  963                 (char_u *)&p_fixeol, PV_FIXEOL,
  964                 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
  965     {"fkmap",       "fk",   P_BOOL|P_VI_DEF,
  966                 (char_u *)NULL, PV_NONE,
  967                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
  968     {"flash",       "fl",   P_BOOL|P_VI_DEF,
  969                 (char_u *)NULL, PV_NONE,
  970                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
  971     {"foldclose",   "fcl",  P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP|P_RWIN,
  972 #ifdef FEAT_FOLDING
  973                 (char_u *)&p_fcl, PV_NONE,
  974                 {(char_u *)"", (char_u *)0L}
  975 #else
  976                 (char_u *)NULL, PV_NONE,
  977                 {(char_u *)NULL, (char_u *)0L}
  978 #endif
  979                 SCTX_INIT},
  980     {"foldcolumn",  "fdc",  P_NUM|P_VI_DEF|P_RWIN,
  981 #ifdef FEAT_FOLDING
  982                 (char_u *)VAR_WIN, PV_FDC,
  983                 {(char_u *)FALSE, (char_u *)0L}
  984 #else
  985                 (char_u *)NULL, PV_NONE,
  986                 {(char_u *)NULL, (char_u *)0L}
  987 #endif
  988                 SCTX_INIT},
  989     {"foldenable",  "fen",  P_BOOL|P_VI_DEF|P_RWIN,
  990 #ifdef FEAT_FOLDING
  991                 (char_u *)VAR_WIN, PV_FEN,
  992                 {(char_u *)TRUE, (char_u *)0L}
  993 #else
  994                 (char_u *)NULL, PV_NONE,
  995                 {(char_u *)NULL, (char_u *)0L}
  996 #endif
  997                 SCTX_INIT},
  998     {"foldexpr",    "fde",  P_STRING|P_ALLOCED|P_VIM|P_VI_DEF|P_RWIN|P_MLE,
  999 #if defined(FEAT_FOLDING) && defined(FEAT_EVAL)
 1000                 (char_u *)VAR_WIN, PV_FDE,
 1001                 {(char_u *)"0", (char_u *)NULL}
 1002 #else
 1003                 (char_u *)NULL, PV_NONE,
 1004                 {(char_u *)NULL, (char_u *)0L}
 1005 #endif
 1006                 SCTX_INIT},
 1007     {"foldignore",  "fdi",  P_STRING|P_ALLOCED|P_VIM|P_VI_DEF|P_RWIN,
 1008 #ifdef FEAT_FOLDING
 1009                 (char_u *)VAR_WIN, PV_FDI,
 1010                 {(char_u *)"#", (char_u *)NULL}
 1011 #else
 1012                 (char_u *)NULL, PV_NONE,
 1013                 {(char_u *)NULL, (char_u *)0L}
 1014 #endif
 1015                 SCTX_INIT},
 1016     {"foldlevel",   "fdl",  P_NUM|P_VI_DEF|P_RWIN,
 1017 #ifdef FEAT_FOLDING
 1018                 (char_u *)VAR_WIN, PV_FDL,
 1019                 {(char_u *)0L, (char_u *)0L}
 1020 #else
 1021                 (char_u *)NULL, PV_NONE,
 1022                 {(char_u *)NULL, (char_u *)0L}
 1023 #endif
 1024                 SCTX_INIT},
 1025     {"foldlevelstart","fdls", P_NUM|P_VI_DEF|P_CURSWANT,
 1026 #ifdef FEAT_FOLDING
 1027                 (char_u *)&p_fdls, PV_NONE,
 1028                 {(char_u *)-1L, (char_u *)0L}
 1029 #else
 1030                 (char_u *)NULL, PV_NONE,
 1031                 {(char_u *)NULL, (char_u *)0L}
 1032 #endif
 1033                 SCTX_INIT},
 1034     {"foldmarker",  "fmr",  P_STRING|P_ALLOCED|P_VIM|P_VI_DEF|
 1035                             P_RWIN|P_ONECOMMA|P_NODUP,
 1036 #ifdef FEAT_FOLDING
 1037                 (char_u *)VAR_WIN, PV_FMR,
 1038                 {(char_u *)"{{{,}}}", (char_u *)NULL}
 1039 #else
 1040                 (char_u *)NULL, PV_NONE,
 1041                 {(char_u *)NULL, (char_u *)0L}
 1042 #endif
 1043                 SCTX_INIT},
 1044     {"foldmethod",  "fdm",  P_STRING|P_ALLOCED|P_VIM|P_VI_DEF|P_RWIN,
 1045 #ifdef FEAT_FOLDING
 1046                 (char_u *)VAR_WIN, PV_FDM,
 1047                 {(char_u *)"manual", (char_u *)NULL}
 1048 #else
 1049                 (char_u *)NULL, PV_NONE,
 1050                 {(char_u *)NULL, (char_u *)0L}
 1051 #endif
 1052                 SCTX_INIT},
 1053     {"foldminlines","fml",  P_NUM|P_VI_DEF|P_RWIN,
 1054 #ifdef FEAT_FOLDING
 1055                 (char_u *)VAR_WIN, PV_FML,
 1056                 {(char_u *)1L, (char_u *)0L}
 1057 #else
 1058                 (char_u *)NULL, PV_NONE,
 1059                 {(char_u *)NULL, (char_u *)0L}
 1060 #endif
 1061                 SCTX_INIT},
 1062     {"foldnestmax", "fdn",  P_NUM|P_VI_DEF|P_RWIN,
 1063 #ifdef FEAT_FOLDING
 1064                 (char_u *)VAR_WIN, PV_FDN,
 1065                 {(char_u *)20L, (char_u *)0L}
 1066 #else
 1067                 (char_u *)NULL, PV_NONE,
 1068                 {(char_u *)NULL, (char_u *)0L}
 1069 #endif
 1070                 SCTX_INIT},
 1071     {"foldopen",    "fdo",  P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP|P_CURSWANT,
 1072 #ifdef FEAT_FOLDING
 1073                 (char_u *)&p_fdo, PV_NONE,
 1074          {(char_u *)"block,hor,mark,percent,quickfix,search,tag,undo",
 1075                          (char_u *)0L}
 1076 #else
 1077                 (char_u *)NULL, PV_NONE,
 1078                 {(char_u *)NULL, (char_u *)0L}
 1079 #endif
 1080                 SCTX_INIT},
 1081     {"foldtext",    "fdt",  P_STRING|P_ALLOCED|P_VIM|P_VI_DEF|P_RWIN|P_MLE,
 1082 #if defined(FEAT_FOLDING) && defined(FEAT_EVAL)
 1083                 (char_u *)VAR_WIN, PV_FDT,
 1084                 {(char_u *)"foldtext()", (char_u *)NULL}
 1085 #else
 1086                 (char_u *)NULL, PV_NONE,
 1087                 {(char_u *)NULL, (char_u *)0L}
 1088 #endif
 1089                 SCTX_INIT},
 1090     {"formatexpr", "fex",   P_STRING|P_ALLOCED|P_VI_DEF|P_VIM|P_MLE,
 1091 #ifdef FEAT_EVAL
 1092                 (char_u *)&p_fex, PV_FEX,
 1093                 {(char_u *)"", (char_u *)0L}
 1094 #else
 1095                 (char_u *)NULL, PV_NONE,
 1096                 {(char_u *)0L, (char_u *)0L}
 1097 #endif
 1098                 SCTX_INIT},
 1099     {"formatoptions","fo",  P_STRING|P_ALLOCED|P_VIM|P_FLAGLIST,
 1100                 (char_u *)&p_fo, PV_FO,
 1101                 {(char_u *)DFLT_FO_VI, (char_u *)DFLT_FO_VIM}
 1102                 SCTX_INIT},
 1103     {"formatlistpat","flp", P_STRING|P_ALLOCED|P_VI_DEF,
 1104                 (char_u *)&p_flp, PV_FLP,
 1105                 {(char_u *)"^\\s*\\d\\+[\\]:.)}\\t ]\\s*",
 1106                          (char_u *)0L} SCTX_INIT},
 1107     {"formatprg",   "fp",   P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
 1108                 (char_u *)&p_fp, PV_FP,
 1109                 {(char_u *)"", (char_u *)0L} SCTX_INIT},
 1110     {"fsync",       "fs",   P_BOOL|P_SECURE|P_VI_DEF,
 1111 #ifdef HAVE_FSYNC
 1112                 (char_u *)&p_fs, PV_NONE,
 1113                 {(char_u *)TRUE, (char_u *)0L}
 1114 #else
 1115                 (char_u *)NULL, PV_NONE,
 1116                 {(char_u *)FALSE, (char_u *)0L}
 1117 #endif
 1118                 SCTX_INIT},
 1119     {"gdefault",    "gd",   P_BOOL|P_VI_DEF|P_VIM,
 1120                 (char_u *)&p_gd, PV_NONE,
 1121                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 1122     {"graphic",     "gr",   P_BOOL|P_VI_DEF,
 1123                 (char_u *)NULL, PV_NONE,
 1124                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 1125     {"grepformat",  "gfm",  P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
 1126 #ifdef FEAT_QUICKFIX
 1127                 (char_u *)&p_gefm, PV_NONE,
 1128                 {(char_u *)DFLT_GREPFORMAT, (char_u *)0L}
 1129 #else
 1130                 (char_u *)NULL, PV_NONE,
 1131                 {(char_u *)NULL, (char_u *)0L}
 1132 #endif
 1133                 SCTX_INIT},
 1134     {"grepprg",     "gp",   P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
 1135 #ifdef FEAT_QUICKFIX
 1136                 (char_u *)&p_gp, PV_GP,
 1137                 {
 1138 # ifdef MSWIN
 1139                 // may be changed to "grep -n" in os_win32.c
 1140                 (char_u *)"findstr /n",
 1141 # else
 1142 #  ifdef UNIX
 1143                 // Add an extra file name so that grep will always
 1144                 // insert a file name in the match line.
 1145                 (char_u *)"grep -n $* /dev/null",
 1146 #  else
 1147 #   ifdef VMS
 1148                 (char_u *)"SEARCH/NUMBERS ",
 1149 #   else
 1150                 (char_u *)"grep -n ",
 1151 #   endif
 1152 #  endif
 1153 # endif
 1154                 (char_u *)0L}
 1155 #else
 1156                 (char_u *)NULL, PV_NONE,
 1157                 {(char_u *)NULL, (char_u *)0L}
 1158 #endif
 1159                 SCTX_INIT},
 1160     {"guicursor",    "gcr", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
 1161 #ifdef CURSOR_SHAPE
 1162                 (char_u *)&p_guicursor, PV_NONE,
 1163                 {
 1164 # ifdef FEAT_GUI
 1165                 (char_u *)"n-v-c:block-Cursor/lCursor,ve:ver35-Cursor,o:hor50-Cursor,i-ci:ver25-Cursor/lCursor,r-cr:hor20-Cursor/lCursor,sm:block-Cursor-blinkwait175-blinkoff150-blinkon175",
 1166 # else  // Win32 console
 1167                 (char_u *)"n-v-c:block,o:hor50,i-ci:hor15,r-cr:hor30,sm:block",
 1168 # endif
 1169                     (char_u *)0L}
 1170 #else
 1171                 (char_u *)NULL, PV_NONE,
 1172                 {(char_u *)NULL, (char_u *)0L}
 1173 #endif
 1174                 SCTX_INIT},
 1175     {"guifont",     "gfn",  P_STRING|P_VI_DEF|P_RCLR|P_ONECOMMA|P_NODUP,
 1176 #ifdef FEAT_GUI
 1177                 (char_u *)&p_guifont, PV_NONE,
 1178                 {(char_u *)"", (char_u *)0L}
 1179 #else
 1180                 (char_u *)NULL, PV_NONE,
 1181                 {(char_u *)NULL, (char_u *)0L}
 1182 #endif
 1183                 SCTX_INIT},
 1184     {"guifontset",  "gfs",  P_STRING|P_VI_DEF|P_RCLR|P_ONECOMMA,
 1185 #if defined(FEAT_GUI) && defined(FEAT_XFONTSET)
 1186                 (char_u *)&p_guifontset, PV_NONE,
 1187                 {(char_u *)"", (char_u *)0L}
 1188 #else
 1189                 (char_u *)NULL, PV_NONE,
 1190                 {(char_u *)NULL, (char_u *)0L}
 1191 #endif
 1192                 SCTX_INIT},
 1193     {"guifontwide", "gfw",  P_STRING|P_VI_DEF|P_RCLR|P_ONECOMMA|P_NODUP,
 1194 #if defined(FEAT_GUI)
 1195                 (char_u *)&p_guifontwide, PV_NONE,
 1196                 {(char_u *)"", (char_u *)0L}
 1197 #else
 1198                 (char_u *)NULL, PV_NONE,
 1199                 {(char_u *)NULL, (char_u *)0L}
 1200 #endif
 1201                 SCTX_INIT},
 1202     {"guiheadroom", "ghr",  P_NUM|P_VI_DEF,
 1203 #if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_X11)
 1204                 (char_u *)&p_ghr, PV_NONE,
 1205 #else
 1206                 (char_u *)NULL, PV_NONE,
 1207 #endif
 1208                 {(char_u *)50L, (char_u *)0L} SCTX_INIT},
 1209     {"guioptions",  "go",   P_STRING|P_VI_DEF|P_RALL|P_FLAGLIST,
 1210 #if defined(FEAT_GUI)
 1211                 (char_u *)&p_go, PV_NONE,
 1212 # if defined(UNIX) && !defined(FEAT_GUI_MAC)
 1213                 {(char_u *)"aegimrLtT", (char_u *)0L}
 1214 # else
 1215                 {(char_u *)"egmrLtT", (char_u *)0L}
 1216 # endif
 1217 #else
 1218                 (char_u *)NULL, PV_NONE,
 1219                 {(char_u *)NULL, (char_u *)0L}
 1220 #endif
 1221                 SCTX_INIT},
 1222     {"guipty",      NULL,   P_BOOL|P_VI_DEF,
 1223 #if defined(FEAT_GUI)
 1224                 (char_u *)&p_guipty, PV_NONE,
 1225 #else
 1226                 (char_u *)NULL, PV_NONE,
 1227 #endif
 1228                 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
 1229     {"guitablabel",  "gtl", P_STRING|P_VI_DEF|P_RWIN|P_MLE,
 1230 #if defined(FEAT_GUI_TABLINE)
 1231                 (char_u *)&p_gtl, PV_NONE,
 1232                 {(char_u *)"", (char_u *)0L}
 1233 #else
 1234                 (char_u *)NULL, PV_NONE,
 1235                 {(char_u *)NULL, (char_u *)0L}
 1236 #endif
 1237                 SCTX_INIT},
 1238     {"guitabtooltip",  "gtt", P_STRING|P_VI_DEF|P_RWIN,
 1239 #if defined(FEAT_GUI_TABLINE)
 1240                 (char_u *)&p_gtt, PV_NONE,
 1241                 {(char_u *)"", (char_u *)0L}
 1242 #else
 1243                 (char_u *)NULL, PV_NONE,
 1244                 {(char_u *)NULL, (char_u *)0L}
 1245 #endif
 1246                 SCTX_INIT},
 1247     {"hardtabs",    "ht",   P_NUM|P_VI_DEF,
 1248                 (char_u *)NULL, PV_NONE,
 1249                 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
 1250     {"helpfile",    "hf",   P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
 1251                 (char_u *)&p_hf, PV_NONE,
 1252                 {(char_u *)DFLT_HELPFILE, (char_u *)0L}
 1253                 SCTX_INIT},
 1254     {"helpheight",  "hh",   P_NUM|P_VI_DEF,
 1255                 (char_u *)&p_hh, PV_NONE,
 1256                 {(char_u *)20L, (char_u *)0L} SCTX_INIT},
 1257     {"helplang",    "hlg",  P_STRING|P_VI_DEF|P_ONECOMMA,
 1258 #ifdef FEAT_MULTI_LANG
 1259                 (char_u *)&p_hlg, PV_NONE,
 1260                 {(char_u *)"", (char_u *)0L}
 1261 #else
 1262                 (char_u *)NULL, PV_NONE,
 1263                 {(char_u *)0L, (char_u *)0L}
 1264 #endif
 1265                 SCTX_INIT},
 1266     {"hidden",      "hid",  P_BOOL|P_VI_DEF,
 1267                 (char_u *)&p_hid, PV_NONE,
 1268                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 1269     {"highlight",   "hl",   P_STRING|P_VI_DEF|P_RCLR|P_ONECOMMA|P_NODUP,
 1270                 (char_u *)&p_hl, PV_NONE,
 1271                 {(char_u *)HIGHLIGHT_INIT, (char_u *)0L}
 1272                 SCTX_INIT},
 1273     {"history",     "hi",   P_NUM|P_VIM,
 1274                 (char_u *)&p_hi, PV_NONE,
 1275                 {(char_u *)0L, (char_u *)50L} SCTX_INIT},
 1276     {"hkmap",       "hk",   P_BOOL|P_VI_DEF|P_VIM,
 1277 #ifdef FEAT_RIGHTLEFT
 1278                 (char_u *)&p_hkmap, PV_NONE,
 1279 #else
 1280                 (char_u *)NULL, PV_NONE,
 1281 #endif
 1282                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 1283     {"hkmapp",      "hkp",  P_BOOL|P_VI_DEF|P_VIM,
 1284 #ifdef FEAT_RIGHTLEFT
 1285                 (char_u *)&p_hkmapp, PV_NONE,
 1286 #else
 1287                 (char_u *)NULL, PV_NONE,
 1288 #endif
 1289                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 1290     {"hlsearch",    "hls",  P_BOOL|P_VI_DEF|P_VIM|P_RALL,
 1291                 (char_u *)&p_hls, PV_NONE,
 1292                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 1293     {"icon",        NULL,   P_BOOL|P_VI_DEF,
 1294 #ifdef FEAT_TITLE
 1295                 (char_u *)&p_icon, PV_NONE,
 1296 #else
 1297                 (char_u *)NULL, PV_NONE,
 1298 #endif
 1299                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 1300     {"iconstring",  NULL,   P_STRING|P_VI_DEF|P_MLE,
 1301 #ifdef FEAT_TITLE
 1302                 (char_u *)&p_iconstring, PV_NONE,
 1303 #else
 1304                 (char_u *)NULL, PV_NONE,
 1305 #endif
 1306                 {(char_u *)"", (char_u *)0L} SCTX_INIT},
 1307     {"ignorecase",  "ic",   P_BOOL|P_VI_DEF,
 1308                 (char_u *)&p_ic, PV_NONE,
 1309                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 1310     {"imactivatefunc","imaf",P_STRING|P_VI_DEF|P_SECURE,
 1311 #if defined(FEAT_EVAL)
 1312                 (char_u *)&p_imaf, PV_NONE,
 1313                 {(char_u *)"", (char_u *)NULL}
 1314 # else
 1315                 (char_u *)NULL, PV_NONE,
 1316                 {(char_u *)NULL, (char_u *)0L}
 1317 # endif
 1318                 SCTX_INIT},
 1319     {"imactivatekey","imak",P_STRING|P_VI_DEF,
 1320 #if defined(FEAT_XIM) && defined(FEAT_GUI_GTK)
 1321                 (char_u *)&p_imak, PV_NONE,
 1322 #else
 1323                 (char_u *)NULL, PV_NONE,
 1324 #endif
 1325                 {(char_u *)"", (char_u *)0L} SCTX_INIT},
 1326     {"imcmdline",   "imc",  P_BOOL|P_VI_DEF,
 1327                 (char_u *)&p_imcmdline, PV_NONE,
 1328                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 1329     {"imdisable",   "imd",  P_BOOL|P_VI_DEF,
 1330                 (char_u *)&p_imdisable, PV_NONE,
 1331 #ifdef __sgi
 1332                 {(char_u *)TRUE, (char_u *)0L}
 1333 #else
 1334                 {(char_u *)FALSE, (char_u *)0L}
 1335 #endif
 1336                 SCTX_INIT},
 1337     {"iminsert",    "imi",  P_NUM|P_VI_DEF,
 1338                 (char_u *)&p_iminsert, PV_IMI,
 1339                 {(char_u *)B_IMODE_NONE, (char_u *)0L}
 1340                 SCTX_INIT},
 1341     {"imsearch",    "ims",  P_NUM|P_VI_DEF,
 1342                 (char_u *)&p_imsearch, PV_IMS,
 1343                 {(char_u *)B_IMODE_USE_INSERT, (char_u *)0L}
 1344                 SCTX_INIT},
 1345     {"imstatusfunc","imsf",P_STRING|P_VI_DEF|P_SECURE,
 1346 #if defined(FEAT_EVAL)
 1347                 (char_u *)&p_imsf, PV_NONE,
 1348                 {(char_u *)"", (char_u *)NULL}
 1349 #else
 1350                 (char_u *)NULL, PV_NONE,
 1351                 {(char_u *)NULL, (char_u *)0L}
 1352 #endif
 1353                 SCTX_INIT},
 1354     {"imstyle",     "imst", P_NUM|P_VI_DEF|P_SECURE,
 1355 #if defined(FEAT_XIM) && defined(FEAT_GUI_GTK)
 1356                 (char_u *)&p_imst, PV_NONE,
 1357                 {(char_u *)IM_OVER_THE_SPOT, (char_u *)0L}
 1358 #else
 1359                 (char_u *)NULL, PV_NONE,
 1360                 {(char_u *)0L, (char_u *)0L}
 1361 #endif
 1362                 SCTX_INIT},
 1363     {"include",     "inc",  P_STRING|P_ALLOCED|P_VI_DEF,
 1364 #ifdef FEAT_FIND_ID
 1365                 (char_u *)&p_inc, PV_INC,
 1366                 {(char_u *)"^\\s*#\\s*include", (char_u *)0L}
 1367 #else
 1368                 (char_u *)NULL, PV_NONE,
 1369                 {(char_u *)0L, (char_u *)0L}
 1370 #endif
 1371                 SCTX_INIT},
 1372     {"includeexpr", "inex", P_STRING|P_ALLOCED|P_VI_DEF|P_MLE,
 1373 #if defined(FEAT_FIND_ID) && defined(FEAT_EVAL)
 1374                 (char_u *)&p_inex, PV_INEX,
 1375                 {(char_u *)"", (char_u *)0L}
 1376 #else
 1377                 (char_u *)NULL, PV_NONE,
 1378                 {(char_u *)0L, (char_u *)0L}
 1379 #endif
 1380                 SCTX_INIT},
 1381     {"incsearch",   "is",   P_BOOL|P_VI_DEF|P_VIM,
 1382                 (char_u *)&p_is, PV_NONE,
 1383                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 1384     {"indentexpr", "inde",  P_STRING|P_ALLOCED|P_VI_DEF|P_VIM|P_MLE,
 1385 #if defined(FEAT_CINDENT) && defined(FEAT_EVAL)
 1386                 (char_u *)&p_inde, PV_INDE,
 1387                 {(char_u *)"", (char_u *)0L}
 1388 #else
 1389                 (char_u *)NULL, PV_NONE,
 1390                 {(char_u *)0L, (char_u *)0L}
 1391 #endif
 1392                 SCTX_INIT},
 1393     {"indentkeys", "indk",  P_STRING|P_ALLOCED|P_VI_DEF|P_ONECOMMA|P_NODUP,
 1394 #if defined(FEAT_CINDENT) && defined(FEAT_EVAL)
 1395                 (char_u *)&p_indk, PV_INDK,
 1396                 {INDENTKEYS_DEFAULT, (char_u *)0L}
 1397 #else
 1398                 (char_u *)NULL, PV_NONE,
 1399                 {(char_u *)0L, (char_u *)0L}
 1400 #endif
 1401                 SCTX_INIT},
 1402     {"infercase",   "inf",  P_BOOL|P_VI_DEF,
 1403                 (char_u *)&p_inf, PV_INF,
 1404                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 1405     {"insertmode",  "im",   P_BOOL|P_VI_DEF|P_VIM,
 1406                 (char_u *)&p_im, PV_NONE,
 1407                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 1408     {"isfname",     "isf",  P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
 1409                 (char_u *)&p_isf, PV_NONE,
 1410                 {
 1411 #ifdef BACKSLASH_IN_FILENAME
 1412                 // Excluded are: & and ^ are special in cmd.exe
 1413                 // ( and ) are used in text separating fnames
 1414                 (char_u *)"@,48-57,/,\\,.,-,_,+,,,#,$,%,{,},[,],:,@-@,!,~,=",
 1415 #else
 1416 # ifdef AMIGA
 1417                 (char_u *)"@,48-57,/,.,-,_,+,,,$,:",
 1418 # else
 1419 #  ifdef VMS
 1420                 (char_u *)"@,48-57,/,.,-,_,+,,,#,$,%,<,>,[,],:,;,~",
 1421 #  else // UNIX et al.
 1422 #   ifdef EBCDIC
 1423                 (char_u *)"@,240-249,/,.,-,_,+,,,#,$,%,~,=",
 1424 #   else
 1425                 (char_u *)"@,48-57,/,.,-,_,+,,,#,$,%,~,=",
 1426 #   endif
 1427 #  endif
 1428 # endif
 1429 #endif
 1430                 (char_u *)0L} SCTX_INIT},
 1431     {"isident",     "isi",  P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
 1432                 (char_u *)&p_isi, PV_NONE,
 1433                 {
 1434 #if defined(MSWIN)
 1435                 (char_u *)"@,48-57,_,128-167,224-235",
 1436 #else
 1437 # ifdef EBCDIC
 1438                 // TODO: EBCDIC Check this! @ == isalpha()
 1439                 (char_u *)"@,240-249,_,66-73,81-89,98-105,"
 1440                     "112-120,128,140-142,156,158,172,"
 1441                     "174,186,191,203-207,219-225,235-239,"
 1442                     "251-254",
 1443 # else
 1444                 (char_u *)"@,48-57,_,192-255",
 1445 # endif
 1446 #endif
 1447                 (char_u *)0L} SCTX_INIT},
 1448     {"iskeyword",   "isk",  P_STRING|P_ALLOCED|P_VIM|P_COMMA|P_NODUP,
 1449                 (char_u *)&p_isk, PV_ISK,
 1450                 {
 1451 #ifdef EBCDIC
 1452                  (char_u *)"@,240-249,_",
 1453                  // TODO: EBCDIC Check this! @ == isalpha()
 1454                  (char_u *)"@,240-249,_,66-73,81-89,98-105,"
 1455                     "112-120,128,140-142,156,158,172,"
 1456                     "174,186,191,203-207,219-225,235-239,"
 1457                     "251-254",
 1458 #else
 1459                 (char_u *)"@,48-57,_",
 1460 # if defined(MSWIN)
 1461                 (char_u *)"@,48-57,_,128-167,224-235"
 1462 # else
 1463                 ISK_LATIN1
 1464 # endif
 1465 #endif
 1466                 } SCTX_INIT},
 1467     {"isprint",     "isp",  P_STRING|P_VI_DEF|P_RALL|P_COMMA|P_NODUP,
 1468                 (char_u *)&p_isp, PV_NONE,
 1469                 {
 1470 #if defined(MSWIN) || defined(VMS)
 1471                 (char_u *)"@,~-255",
 1472 #else
 1473 # ifdef EBCDIC
 1474                 // all chars above 63 are printable
 1475                 (char_u *)"63-255",
 1476 # else
 1477                 ISP_LATIN1,
 1478 # endif
 1479 #endif
 1480                 (char_u *)0L} SCTX_INIT},
 1481     {"joinspaces",  "js",   P_BOOL|P_VI_DEF|P_VIM,
 1482                 (char_u *)&p_js, PV_NONE,
 1483                 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
 1484     {"key",     NULL,   P_STRING|P_ALLOCED|P_VI_DEF|P_NO_MKRC,
 1485 #ifdef FEAT_CRYPT
 1486                 (char_u *)&p_key, PV_KEY,
 1487                 {(char_u *)"", (char_u *)0L}
 1488 #else
 1489                 (char_u *)NULL, PV_NONE,
 1490                 {(char_u *)0L, (char_u *)0L}
 1491 #endif
 1492                 SCTX_INIT},
 1493     {"keymap",      "kmp",  P_STRING|P_ALLOCED|P_VI_DEF|P_RBUF|P_RSTAT|P_NFNAME|P_PRI_MKRC,
 1494 #ifdef FEAT_KEYMAP
 1495                 (char_u *)&p_keymap, PV_KMAP,
 1496                 {(char_u *)"", (char_u *)0L}
 1497 #else
 1498                 (char_u *)NULL, PV_NONE,
 1499                 {(char_u *)"", (char_u *)0L}
 1500 #endif
 1501                 SCTX_INIT},
 1502     {"keymodel",    "km",   P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
 1503                 (char_u *)&p_km, PV_NONE,
 1504                 {(char_u *)"", (char_u *)0L} SCTX_INIT},
 1505     {"keywordprg",  "kp",   P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
 1506                 (char_u *)&p_kp, PV_KP,
 1507                 {
 1508 #ifdef MSWIN
 1509                 (char_u *)":help",
 1510 #else
 1511 # ifdef VMS
 1512                 (char_u *)"help",
 1513 # else
 1514 #  ifdef USEMAN_S
 1515                 (char_u *)"man -s",
 1516 #  else
 1517                 (char_u *)"man",
 1518 #  endif
 1519 # endif
 1520 #endif
 1521                 (char_u *)0L} SCTX_INIT},
 1522     {"langmap",     "lmap", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP|P_SECURE,
 1523 #ifdef FEAT_LANGMAP
 1524                 (char_u *)&p_langmap, PV_NONE,
 1525                 {(char_u *)"", (char_u *)0L}
 1526 #else
 1527                 (char_u *)NULL, PV_NONE,
 1528                 {(char_u *)NULL, (char_u *)0L}
 1529 #endif
 1530                 SCTX_INIT},
 1531     {"langmenu",    "lm",   P_STRING|P_VI_DEF|P_NFNAME,
 1532 #if defined(FEAT_MENU) && defined(FEAT_MULTI_LANG)
 1533                 (char_u *)&p_lm, PV_NONE,
 1534 #else
 1535                 (char_u *)NULL, PV_NONE,
 1536 #endif
 1537                 {(char_u *)"", (char_u *)0L} SCTX_INIT},
 1538     {"langnoremap",  "lnr",   P_BOOL|P_VI_DEF,
 1539 #ifdef FEAT_LANGMAP
 1540                 (char_u *)&p_lnr, PV_NONE,
 1541 #else
 1542                 (char_u *)NULL, PV_NONE,
 1543 #endif
 1544                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 1545     {"langremap",  "lrm",   P_BOOL|P_VI_DEF,
 1546 #ifdef FEAT_LANGMAP
 1547                 (char_u *)&p_lrm, PV_NONE,
 1548 #else
 1549                 (char_u *)NULL, PV_NONE,
 1550 #endif
 1551                 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
 1552     {"laststatus",  "ls",   P_NUM|P_VI_DEF|P_RALL,
 1553                 (char_u *)&p_ls, PV_NONE,
 1554                 {(char_u *)1L, (char_u *)0L} SCTX_INIT},
 1555     {"lazyredraw",  "lz",   P_BOOL|P_VI_DEF,
 1556                 (char_u *)&p_lz, PV_NONE,
 1557                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 1558     {"linebreak",   "lbr",  P_BOOL|P_VI_DEF|P_RWIN,
 1559 #ifdef FEAT_LINEBREAK
 1560                 (char_u *)VAR_WIN, PV_LBR,
 1561 #else
 1562                 (char_u *)NULL, PV_NONE,
 1563 #endif
 1564                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 1565     {"lines",       NULL,   P_NUM|P_NODEFAULT|P_NO_MKRC|P_VI_DEF|P_RCLR,
 1566                 (char_u *)&Rows, PV_NONE,
 1567                 {
 1568 #if defined(MSWIN)
 1569                 (char_u *)25L,
 1570 #else
 1571                 (char_u *)24L,
 1572 #endif
 1573                         (char_u *)0L} SCTX_INIT},
 1574     {"linespace",   "lsp",  P_NUM|P_VI_DEF|P_RCLR,
 1575 #ifdef FEAT_GUI
 1576                 (char_u *)&p_linespace, PV_NONE,
 1577 #else
 1578                 (char_u *)NULL, PV_NONE,
 1579 #endif
 1580 #ifdef FEAT_GUI_MSWIN
 1581                 {(char_u *)1L, (char_u *)0L}
 1582 #else
 1583                 {(char_u *)0L, (char_u *)0L}
 1584 #endif
 1585                 SCTX_INIT},
 1586     {"lisp",        NULL,   P_BOOL|P_VI_DEF,
 1587 #ifdef FEAT_LISP
 1588                 (char_u *)&p_lisp, PV_LISP,
 1589 #else
 1590                 (char_u *)NULL, PV_NONE,
 1591 #endif
 1592                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 1593     {"lispwords",   "lw",   P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
 1594 #ifdef FEAT_LISP
 1595                 (char_u *)&p_lispwords, PV_LW,
 1596                 {(char_u *)LISPWORD_VALUE, (char_u *)0L}
 1597 #else
 1598                 (char_u *)NULL, PV_NONE,
 1599                 {(char_u *)"", (char_u *)0L}
 1600 #endif
 1601                 SCTX_INIT},
 1602     {"list",        NULL,   P_BOOL|P_VI_DEF|P_RWIN,
 1603                 (char_u *)VAR_WIN, PV_LIST,
 1604                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 1605     {"listchars",   "lcs",  P_STRING|P_VI_DEF|P_RALL|P_ONECOMMA|P_NODUP,
 1606                 (char_u *)&p_lcs, PV_NONE,
 1607                 {(char_u *)"eol:$", (char_u *)0L} SCTX_INIT},
 1608     {"loadplugins", "lpl",  P_BOOL|P_VI_DEF,
 1609                 (char_u *)&p_lpl, PV_NONE,
 1610                 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
 1611     {"luadll",      NULL,   P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
 1612 #if defined(DYNAMIC_LUA)
 1613                 (char_u *)&p_luadll, PV_NONE,
 1614                 {(char_u *)DYNAMIC_LUA_DLL, (char_u *)0L}
 1615 #else
 1616                 (char_u *)NULL, PV_NONE,
 1617                 {(char_u *)"", (char_u *)0L}
 1618 #endif
 1619                 SCTX_INIT},
 1620     {"macatsui",    NULL,   P_BOOL|P_VI_DEF|P_RCLR,
 1621 #ifdef FEAT_GUI_MAC
 1622                 (char_u *)&p_macatsui, PV_NONE,
 1623                 {(char_u *)TRUE, (char_u *)0L}
 1624 #else
 1625                 (char_u *)NULL, PV_NONE,
 1626                 {(char_u *)"", (char_u *)0L}
 1627 #endif
 1628                 SCTX_INIT},
 1629     {"magic",       NULL,   P_BOOL|P_VI_DEF,
 1630                 (char_u *)&p_magic, PV_NONE,
 1631                 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
 1632     {"makeef",      "mef",  P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
 1633 #ifdef FEAT_QUICKFIX
 1634                 (char_u *)&p_mef, PV_NONE,
 1635                 {(char_u *)"", (char_u *)0L}
 1636 #else
 1637                 (char_u *)NULL, PV_NONE,
 1638                 {(char_u *)NULL, (char_u *)0L}
 1639 #endif
 1640                 SCTX_INIT},
 1641     {"makeencoding","menc", P_STRING|P_VI_DEF,
 1642                 (char_u *)&p_menc, PV_MENC,
 1643                 {(char_u *)"", (char_u *)0L}
 1644                 SCTX_INIT},
 1645     {"makeprg",     "mp",   P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
 1646 #ifdef FEAT_QUICKFIX
 1647                 (char_u *)&p_mp, PV_MP,
 1648 # ifdef VMS
 1649                 {(char_u *)"MMS", (char_u *)0L}
 1650 # else
 1651                 {(char_u *)"make", (char_u *)0L}
 1652 # endif
 1653 #else
 1654                 (char_u *)NULL, PV_NONE,
 1655                 {(char_u *)NULL, (char_u *)0L}
 1656 #endif
 1657                 SCTX_INIT},
 1658     {"matchpairs",  "mps",  P_STRING|P_ALLOCED|P_VI_DEF|P_ONECOMMA|P_NODUP,
 1659                 (char_u *)&p_mps, PV_MPS,
 1660                 {(char_u *)"(:),{:},[:]", (char_u *)0L}
 1661                 SCTX_INIT},
 1662     {"matchtime",   "mat",  P_NUM|P_VI_DEF,
 1663                 (char_u *)&p_mat, PV_NONE,
 1664                 {(char_u *)5L, (char_u *)0L} SCTX_INIT},
 1665     {"maxcombine",  "mco",  P_NUM|P_VI_DEF|P_CURSWANT,
 1666                 (char_u *)&p_mco, PV_NONE,
 1667                 {(char_u *)2, (char_u *)0L} SCTX_INIT},
 1668     {"maxfuncdepth", "mfd", P_NUM|P_VI_DEF,
 1669 #ifdef FEAT_EVAL
 1670                 (char_u *)&p_mfd, PV_NONE,
 1671 #else
 1672                 (char_u *)NULL, PV_NONE,
 1673 #endif
 1674                 {(char_u *)100L, (char_u *)0L} SCTX_INIT},
 1675     {"maxmapdepth", "mmd",  P_NUM|P_VI_DEF,
 1676                 (char_u *)&p_mmd, PV_NONE,
 1677                 {(char_u *)1000L, (char_u *)0L} SCTX_INIT},
 1678     {"maxmem",      "mm",   P_NUM|P_VI_DEF,
 1679                 (char_u *)&p_mm, PV_NONE,
 1680                 {(char_u *)DFLT_MAXMEM, (char_u *)0L}
 1681                 SCTX_INIT},
 1682     {"maxmempattern","mmp", P_NUM|P_VI_DEF,
 1683                 (char_u *)&p_mmp, PV_NONE,
 1684                 {(char_u *)1000L, (char_u *)0L} SCTX_INIT},
 1685     {"maxmemtot",   "mmt",  P_NUM|P_VI_DEF,
 1686                 (char_u *)&p_mmt, PV_NONE,
 1687                 {(char_u *)DFLT_MAXMEMTOT, (char_u *)0L}
 1688                 SCTX_INIT},
 1689     {"menuitems",   "mis",  P_NUM|P_VI_DEF,
 1690 #ifdef FEAT_MENU
 1691                 (char_u *)&p_mis, PV_NONE,
 1692 #else
 1693                 (char_u *)NULL, PV_NONE,
 1694 #endif
 1695                 {(char_u *)25L, (char_u *)0L} SCTX_INIT},
 1696     {"mesg",        NULL,   P_BOOL|P_VI_DEF,
 1697                 (char_u *)NULL, PV_NONE,
 1698                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 1699     {"mkspellmem",  "msm",  P_STRING|P_VI_DEF|P_EXPAND|P_SECURE,
 1700 #ifdef FEAT_SPELL
 1701                 (char_u *)&p_msm, PV_NONE,
 1702                 {(char_u *)"460000,2000,500", (char_u *)0L}
 1703 #else
 1704                 (char_u *)NULL, PV_NONE,
 1705                 {(char_u *)0L, (char_u *)0L}
 1706 #endif
 1707                 SCTX_INIT},
 1708     {"modeline",    "ml",   P_BOOL|P_VIM,
 1709                 (char_u *)&p_ml, PV_ML,
 1710                 {(char_u *)FALSE, (char_u *)TRUE} SCTX_INIT},
 1711     {"modelineexpr", "mle",  P_BOOL|P_VI_DEF|P_SECURE,
 1712                 (char_u *)&p_mle, PV_NONE,
 1713                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 1714     {"modelines",   "mls",  P_NUM|P_VI_DEF,
 1715                 (char_u *)&p_mls, PV_NONE,
 1716                 {(char_u *)5L, (char_u *)0L} SCTX_INIT},
 1717     {"modifiable",  "ma",   P_BOOL|P_VI_DEF|P_NOGLOB,
 1718                 (char_u *)&p_ma, PV_MA,
 1719                 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
 1720     {"modified",    "mod",  P_BOOL|P_NO_MKRC|P_VI_DEF|P_RSTAT,
 1721                 (char_u *)&p_mod, PV_MOD,
 1722                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 1723     {"more",        NULL,   P_BOOL|P_VIM,
 1724                 (char_u *)&p_more, PV_NONE,
 1725                 {(char_u *)FALSE, (char_u *)TRUE} SCTX_INIT},
 1726     {"mouse",       NULL,   P_STRING|P_VI_DEF|P_FLAGLIST,
 1727                 (char_u *)&p_mouse, PV_NONE,
 1728                 {
 1729 #if defined(MSWIN)
 1730                 (char_u *)"a",
 1731 #else
 1732                 (char_u *)"",
 1733 #endif
 1734                 (char_u *)0L} SCTX_INIT},
 1735     {"mousefocus",   "mousef", P_BOOL|P_VI_DEF,
 1736 #ifdef FEAT_GUI
 1737                 (char_u *)&p_mousef, PV_NONE,
 1738 #else
 1739                 (char_u *)NULL, PV_NONE,
 1740 #endif
 1741                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 1742     {"mousehide",   "mh",   P_BOOL|P_VI_DEF,
 1743 #ifdef FEAT_GUI
 1744                 (char_u *)&p_mh, PV_NONE,
 1745 #else
 1746                 (char_u *)NULL, PV_NONE,
 1747 #endif
 1748                 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
 1749     {"mousemodel",  "mousem", P_STRING|P_VI_DEF,
 1750                 (char_u *)&p_mousem, PV_NONE,
 1751                 {
 1752 #if defined(MSWIN)
 1753                 (char_u *)"popup",
 1754 #else
 1755 # if defined(MACOS_X)
 1756                 (char_u *)"popup_setpos",
 1757 # else
 1758                 (char_u *)"extend",
 1759 # endif
 1760 #endif
 1761                 (char_u *)0L} SCTX_INIT},
 1762     {"mouseshape",  "mouses",  P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
 1763 #ifdef FEAT_MOUSESHAPE
 1764                 (char_u *)&p_mouseshape, PV_NONE,
 1765                 {(char_u *)"i-r:beam,s:updown,sd:udsizing,vs:leftright,vd:lrsizing,m:no,ml:up-arrow,v:rightup-arrow", (char_u *)0L}
 1766 #else
 1767                 (char_u *)NULL, PV_NONE,
 1768                 {(char_u *)NULL, (char_u *)0L}
 1769 #endif
 1770                 SCTX_INIT},
 1771     {"mousetime",   "mouset",   P_NUM|P_VI_DEF,
 1772                 (char_u *)&p_mouset, PV_NONE,
 1773                 {(char_u *)500L, (char_u *)0L} SCTX_INIT},
 1774     {"mzschemedll", NULL,   P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
 1775 #if defined(DYNAMIC_MZSCHEME)
 1776                 (char_u *)&p_mzschemedll, PV_NONE,
 1777                 {(char_u *)DYNAMIC_MZSCH_DLL, (char_u *)0L}
 1778 #else
 1779                 (char_u *)NULL, PV_NONE,
 1780                 {(char_u *)"", (char_u *)0L}
 1781 #endif
 1782                 SCTX_INIT},
 1783     {"mzschemegcdll", NULL, P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
 1784 #if defined(DYNAMIC_MZSCHEME)
 1785                 (char_u *)&p_mzschemegcdll, PV_NONE,
 1786                 {(char_u *)DYNAMIC_MZGC_DLL, (char_u *)0L}
 1787 #else
 1788                 (char_u *)NULL, PV_NONE,
 1789                 {(char_u *)"", (char_u *)0L}
 1790 #endif
 1791                 SCTX_INIT},
 1792     {"mzquantum",  "mzq",   P_NUM,
 1793 #ifdef FEAT_MZSCHEME
 1794                 (char_u *)&p_mzq, PV_NONE,
 1795 #else
 1796                 (char_u *)NULL, PV_NONE,
 1797 #endif
 1798                 {(char_u *)100L, (char_u *)100L} SCTX_INIT},
 1799     {"novice",      NULL,   P_BOOL|P_VI_DEF,
 1800                 (char_u *)NULL, PV_NONE,
 1801                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 1802     {"nrformats",   "nf",   P_STRING|P_ALLOCED|P_VI_DEF|P_ONECOMMA|P_NODUP,
 1803                 (char_u *)&p_nf, PV_NF,
 1804                 {(char_u *)"bin,octal,hex", (char_u *)0L}
 1805                 SCTX_INIT},
 1806     {"number",      "nu",   P_BOOL|P_VI_DEF|P_RWIN,
 1807                 (char_u *)VAR_WIN, PV_NU,
 1808                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 1809     {"numberwidth", "nuw",  P_NUM|P_RWIN|P_VIM,
 1810 #ifdef FEAT_LINEBREAK
 1811                 (char_u *)VAR_WIN, PV_NUW,
 1812 #else
 1813                 (char_u *)NULL, PV_NONE,
 1814 #endif
 1815                 {(char_u *)8L, (char_u *)4L} SCTX_INIT},
 1816     {"omnifunc",    "ofu",  P_STRING|P_ALLOCED|P_VI_DEF|P_SECURE,
 1817 #ifdef FEAT_COMPL_FUNC
 1818                 (char_u *)&p_ofu, PV_OFU,
 1819                 {(char_u *)"", (char_u *)0L}
 1820 #else
 1821                 (char_u *)NULL, PV_NONE,
 1822                 {(char_u *)0L, (char_u *)0L}
 1823 #endif
 1824                 SCTX_INIT},
 1825     {"open",        NULL,   P_BOOL|P_VI_DEF,
 1826                 (char_u *)NULL, PV_NONE,
 1827                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 1828     {"opendevice",  "odev", P_BOOL|P_VI_DEF,
 1829 #if defined(MSWIN)
 1830                 (char_u *)&p_odev, PV_NONE,
 1831 #else
 1832                 (char_u *)NULL, PV_NONE,
 1833 #endif
 1834                 {(char_u *)FALSE, (char_u *)FALSE}
 1835                 SCTX_INIT},
 1836     {"operatorfunc", "opfunc", P_STRING|P_VI_DEF|P_SECURE,
 1837                 (char_u *)&p_opfunc, PV_NONE,
 1838                 {(char_u *)"", (char_u *)0L} SCTX_INIT},
 1839     {"optimize",    "opt",  P_BOOL|P_VI_DEF,
 1840                 (char_u *)NULL, PV_NONE,
 1841                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 1842     {"osfiletype",  "oft",  P_STRING|P_ALLOCED|P_VI_DEF,
 1843                 (char_u *)NULL, PV_NONE,
 1844                 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
 1845     {"packpath",    "pp",   P_STRING|P_VI_DEF|P_EXPAND|P_ONECOMMA|P_NODUP
 1846                                     |P_SECURE,
 1847                 (char_u *)&p_pp, PV_NONE,
 1848                 {(char_u *)DFLT_RUNTIMEPATH, (char_u *)0L}
 1849                 SCTX_INIT},
 1850     {"paragraphs",  "para", P_STRING|P_VI_DEF,
 1851                 (char_u *)&p_para, PV_NONE,
 1852                 {(char_u *)"IPLPPPQPP TPHPLIPpLpItpplpipbp",
 1853                 (char_u *)0L} SCTX_INIT},
 1854     {"paste",       NULL,   P_BOOL|P_VI_DEF|P_PRI_MKRC,
 1855                 (char_u *)&p_paste, PV_NONE,
 1856                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 1857     {"pastetoggle", "pt",   P_STRING|P_VI_DEF,
 1858                 (char_u *)&p_pt, PV_NONE,
 1859                 {(char_u *)"", (char_u *)0L} SCTX_INIT},
 1860     {"patchexpr",   "pex",  P_STRING|P_VI_DEF|P_SECURE,
 1861 #if defined(FEAT_DIFF) && defined(FEAT_EVAL)
 1862                 (char_u *)&p_pex, PV_NONE,
 1863                 {(char_u *)"", (char_u *)0L}
 1864 #else
 1865                 (char_u *)NULL, PV_NONE,
 1866                 {(char_u *)0L, (char_u *)0L}
 1867 #endif
 1868                 SCTX_INIT},
 1869     {"patchmode",   "pm",   P_STRING|P_VI_DEF|P_NFNAME,
 1870                 (char_u *)&p_pm, PV_NONE,
 1871                 {(char_u *)"", (char_u *)0L} SCTX_INIT},
 1872     {"path",        "pa",   P_STRING|P_EXPAND|P_VI_DEF|P_COMMA|P_NODUP,
 1873                 (char_u *)&p_path, PV_PATH,
 1874                 {
 1875 #if defined(AMIGA) || defined(MSWIN)
 1876                 (char_u *)".,,",
 1877 #else
 1878                 (char_u *)".,/usr/include,,",
 1879 #endif
 1880                 (char_u *)0L} SCTX_INIT},
 1881     {"perldll",     NULL,   P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
 1882 #if defined(DYNAMIC_PERL)
 1883                 (char_u *)&p_perldll, PV_NONE,
 1884                 {(char_u *)DYNAMIC_PERL_DLL, (char_u *)0L}
 1885 #else
 1886                 (char_u *)NULL, PV_NONE,
 1887                 {(char_u *)0L, (char_u *)0L}
 1888 #endif
 1889                 SCTX_INIT},
 1890     {"preserveindent", "pi", P_BOOL|P_VI_DEF|P_VIM,
 1891                 (char_u *)&p_pi, PV_PI,
 1892                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 1893     {"previewheight", "pvh", P_NUM|P_VI_DEF,
 1894 #if defined(FEAT_QUICKFIX)
 1895                 (char_u *)&p_pvh, PV_NONE,
 1896 #else
 1897                 (char_u *)NULL, PV_NONE,
 1898 #endif
 1899                 {(char_u *)12L, (char_u *)0L} SCTX_INIT},
 1900     {"previewpopup", "pvp", P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
 1901 #ifdef FEAT_PROP_POPUP
 1902                 (char_u *)&p_pvp, PV_NONE,
 1903                 {(char_u *)"", (char_u *)0L}
 1904 #else
 1905                 (char_u *)NULL, PV_NONE,
 1906                 {(char_u *)NULL, (char_u *)0L}
 1907 #endif
 1908                 SCTX_INIT},
 1909     {"previewwindow", "pvw", P_BOOL|P_VI_DEF|P_RSTAT|P_NOGLOB,
 1910 #if defined(FEAT_QUICKFIX)
 1911                 (char_u *)VAR_WIN, PV_PVW,
 1912 #else
 1913                 (char_u *)NULL, PV_NONE,
 1914 #endif
 1915                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 1916     {"printdevice", "pdev", P_STRING|P_VI_DEF|P_SECURE,
 1917 #ifdef FEAT_PRINTER
 1918                 (char_u *)&p_pdev, PV_NONE,
 1919                 {(char_u *)"", (char_u *)0L}
 1920 #else
 1921                 (char_u *)NULL, PV_NONE,
 1922                 {(char_u *)NULL, (char_u *)0L}
 1923 #endif
 1924                 SCTX_INIT},
 1925     {"printencoding", "penc", P_STRING|P_VI_DEF,
 1926 #ifdef FEAT_POSTSCRIPT
 1927                 (char_u *)&p_penc, PV_NONE,
 1928                 {(char_u *)"", (char_u *)0L}
 1929 #else
 1930                 (char_u *)NULL, PV_NONE,
 1931                 {(char_u *)NULL, (char_u *)0L}
 1932 #endif
 1933                 SCTX_INIT},
 1934     {"printexpr", "pexpr",  P_STRING|P_VI_DEF|P_SECURE,
 1935 #ifdef FEAT_POSTSCRIPT
 1936                 (char_u *)&p_pexpr, PV_NONE,
 1937                 {(char_u *)"", (char_u *)0L}
 1938 #else
 1939                 (char_u *)NULL, PV_NONE,
 1940                 {(char_u *)NULL, (char_u *)0L}
 1941 #endif
 1942                 SCTX_INIT},
 1943     {"printfont", "pfn",    P_STRING|P_VI_DEF,
 1944 #ifdef FEAT_PRINTER
 1945                 (char_u *)&p_pfn, PV_NONE,
 1946                 {
 1947 # ifdef MSWIN
 1948                 (char_u *)"Courier_New:h10",
 1949 # else
 1950                 (char_u *)"courier",
 1951 # endif
 1952                 (char_u *)0L}
 1953 #else
 1954                 (char_u *)NULL, PV_NONE,
 1955                 {(char_u *)NULL, (char_u *)0L}
 1956 #endif
 1957                 SCTX_INIT},
 1958     {"printheader", "pheader",  P_STRING|P_VI_DEF|P_GETTEXT,
 1959 #ifdef FEAT_PRINTER
 1960                 (char_u *)&p_header, PV_NONE,
 1961                 // untranslated to avoid problems when 'encoding'
 1962                 // is changed
 1963                 {(char_u *)"%<%f%h%m%=Page %N", (char_u *)0L}
 1964 #else
 1965                 (char_u *)NULL, PV_NONE,
 1966                 {(char_u *)NULL, (char_u *)0L}
 1967 #endif
 1968                 SCTX_INIT},
 1969    {"printmbcharset", "pmbcs",  P_STRING|P_VI_DEF,
 1970 #if defined(FEAT_POSTSCRIPT)
 1971                 (char_u *)&p_pmcs, PV_NONE,
 1972                 {(char_u *)"", (char_u *)0L}
 1973 #else
 1974                 (char_u *)NULL, PV_NONE,
 1975                 {(char_u *)NULL, (char_u *)0L}
 1976 #endif
 1977                 SCTX_INIT},
 1978     {"printmbfont", "pmbfn",  P_STRING|P_VI_DEF,
 1979 #if defined(FEAT_POSTSCRIPT)
 1980                 (char_u *)&p_pmfn, PV_NONE,
 1981                 {(char_u *)"", (char_u *)0L}
 1982 #else
 1983                 (char_u *)NULL, PV_NONE,
 1984                 {(char_u *)NULL, (char_u *)0L}
 1985 #endif
 1986                 SCTX_INIT},
 1987     {"printoptions", "popt", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
 1988 #ifdef FEAT_PRINTER
 1989                 (char_u *)&p_popt, PV_NONE,
 1990                 {(char_u *)"", (char_u *)0L}
 1991 #else
 1992                 (char_u *)NULL, PV_NONE,
 1993                 {(char_u *)NULL, (char_u *)0L}
 1994 #endif
 1995                 SCTX_INIT},
 1996     {"prompt",      NULL,   P_BOOL|P_VI_DEF,
 1997                 (char_u *)&p_prompt, PV_NONE,
 1998                 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
 1999     {"pumheight",   "ph",   P_NUM|P_VI_DEF,
 2000                 (char_u *)&p_ph, PV_NONE,
 2001                 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
 2002     {"pumwidth",    "pw",   P_NUM|P_VI_DEF,
 2003                 (char_u *)&p_pw, PV_NONE,
 2004                 {(char_u *)15L, (char_u *)15L} SCTX_INIT},
 2005     {"pythonthreedll",  NULL,   P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
 2006 #if defined(DYNAMIC_PYTHON3)
 2007                 (char_u *)&p_py3dll, PV_NONE,
 2008                 {(char_u *)DYNAMIC_PYTHON3_DLL, (char_u *)0L}
 2009 #else
 2010                 (char_u *)NULL, PV_NONE,
 2011                 {(char_u *)NULL, (char_u *)0L}
 2012 #endif
 2013                 SCTX_INIT},
 2014     {"pythonthreehome", NULL,   P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
 2015 #if defined(FEAT_PYTHON3)
 2016                 (char_u *)&p_py3home, PV_NONE,
 2017                 {(char_u *)"", (char_u *)0L}
 2018 #else
 2019                 (char_u *)NULL, PV_NONE,
 2020                 {(char_u *)NULL, (char_u *)0L}
 2021 #endif
 2022                 SCTX_INIT},
 2023     {"pythondll",   NULL,   P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
 2024 #if defined(DYNAMIC_PYTHON)
 2025                 (char_u *)&p_pydll, PV_NONE,
 2026                 {(char_u *)DYNAMIC_PYTHON_DLL, (char_u *)0L}
 2027 #else
 2028                 (char_u *)NULL, PV_NONE,
 2029                 {(char_u *)NULL, (char_u *)0L}
 2030 #endif
 2031                 SCTX_INIT},
 2032     {"pythonhome",  NULL,   P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
 2033 #if defined(FEAT_PYTHON)
 2034                 (char_u *)&p_pyhome, PV_NONE,
 2035                 {(char_u *)"", (char_u *)0L}
 2036 #else
 2037                 (char_u *)NULL, PV_NONE,
 2038                 {(char_u *)NULL, (char_u *)0L}
 2039 #endif
 2040                 SCTX_INIT},
 2041     {"pyxversion", "pyx",   P_NUM|P_VI_DEF|P_SECURE,
 2042 #if defined(FEAT_PYTHON) || defined(FEAT_PYTHON3)
 2043                 (char_u *)&p_pyx, PV_NONE,
 2044 #else
 2045                 (char_u *)NULL, PV_NONE,
 2046 #endif
 2047                 {(char_u *)DEFAULT_PYTHON_VER, (char_u *)0L}
 2048                 SCTX_INIT},
 2049     {"quickfixtextfunc", "qftf", P_STRING|P_ALLOCED|P_VI_DEF|P_VIM|P_SECURE,
 2050 #if defined(FEAT_QUICKFIX) && defined(FEAT_EVAL)
 2051                 (char_u *)&p_qftf, PV_NONE,
 2052                 {(char_u *)"", (char_u *)0L}
 2053 #else
 2054                 (char_u *)NULL, PV_NONE,
 2055                 {(char_u *)NULL, (char_u *)NULL}
 2056 #endif
 2057                 SCTX_INIT},
 2058     {"quoteescape", "qe",   P_STRING|P_ALLOCED|P_VI_DEF,
 2059 #ifdef FEAT_TEXTOBJ
 2060                 (char_u *)&p_qe, PV_QE,
 2061                 {(char_u *)"\\", (char_u *)0L}
 2062 #else
 2063                 (char_u *)NULL, PV_NONE,
 2064                 {(char_u *)NULL, (char_u *)0L}
 2065 #endif
 2066                 SCTX_INIT},
 2067     {"readonly",    "ro",   P_BOOL|P_VI_DEF|P_RSTAT|P_NOGLOB,
 2068                 (char_u *)&p_ro, PV_RO,
 2069                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 2070     {"redraw",      NULL,   P_BOOL|P_VI_DEF,
 2071                 (char_u *)NULL, PV_NONE,
 2072                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 2073     {"redrawtime",  "rdt",  P_NUM|P_VI_DEF,
 2074 #ifdef FEAT_RELTIME
 2075                 (char_u *)&p_rdt, PV_NONE,
 2076 #else
 2077                 (char_u *)NULL, PV_NONE,
 2078 #endif
 2079                 {(char_u *)2000L, (char_u *)0L} SCTX_INIT},
 2080     {"regexpengine", "re",  P_NUM|P_VI_DEF,
 2081                 (char_u *)&p_re, PV_NONE,
 2082                 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
 2083     {"relativenumber", "rnu", P_BOOL|P_VI_DEF|P_RWIN,
 2084                 (char_u *)VAR_WIN, PV_RNU,
 2085                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 2086     {"remap",       NULL,   P_BOOL|P_VI_DEF,
 2087                 (char_u *)&p_remap, PV_NONE,
 2088                 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
 2089     {"renderoptions", "rop", P_STRING|P_ONECOMMA|P_RCLR|P_VI_DEF,
 2090 #ifdef FEAT_RENDER_OPTIONS
 2091                 (char_u *)&p_rop, PV_NONE,
 2092                 {(char_u *)"", (char_u *)0L}
 2093 #else
 2094                 (char_u *)NULL, PV_NONE,
 2095                 {(char_u *)NULL, (char_u *)0L}
 2096 #endif
 2097                 SCTX_INIT},
 2098     {"report",      NULL,   P_NUM|P_VI_DEF,
 2099                 (char_u *)&p_report, PV_NONE,
 2100                 {(char_u *)2L, (char_u *)0L} SCTX_INIT},
 2101     {"restorescreen", "rs", P_BOOL|P_VI_DEF,
 2102 #ifdef MSWIN
 2103                 (char_u *)&p_rs, PV_NONE,
 2104 #else
 2105                 (char_u *)NULL, PV_NONE,
 2106 #endif
 2107                 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
 2108     {"revins",      "ri",   P_BOOL|P_VI_DEF|P_VIM,
 2109 #ifdef FEAT_RIGHTLEFT
 2110                 (char_u *)&p_ri, PV_NONE,
 2111 #else
 2112                 (char_u *)NULL, PV_NONE,
 2113 #endif
 2114                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 2115     {"rightleft",   "rl",   P_BOOL|P_VI_DEF|P_RWIN,
 2116 #ifdef FEAT_RIGHTLEFT
 2117                 (char_u *)VAR_WIN, PV_RL,
 2118 #else
 2119                 (char_u *)NULL, PV_NONE,
 2120 #endif
 2121                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 2122     {"rightleftcmd", "rlc", P_STRING|P_ALLOCED|P_VI_DEF|P_RWIN,
 2123 #ifdef FEAT_RIGHTLEFT
 2124                 (char_u *)VAR_WIN, PV_RLC,
 2125                 {(char_u *)"search", (char_u *)NULL}
 2126 #else
 2127                 (char_u *)NULL, PV_NONE,
 2128                 {(char_u *)NULL, (char_u *)0L}
 2129 #endif
 2130                 SCTX_INIT},
 2131     {"rubydll",     NULL,   P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
 2132 #if defined(DYNAMIC_RUBY)
 2133                 (char_u *)&p_rubydll, PV_NONE,
 2134                 {(char_u *)DYNAMIC_RUBY_DLL, (char_u *)0L}
 2135 #else
 2136                 (char_u *)NULL, PV_NONE,
 2137                 {(char_u *)NULL, (char_u *)0L}
 2138 #endif
 2139                 SCTX_INIT},
 2140     {"ruler",       "ru",   P_BOOL|P_VI_DEF|P_VIM|P_RSTAT,
 2141 #ifdef FEAT_CMDL_INFO
 2142                 (char_u *)&p_ru, PV_NONE,
 2143 #else
 2144                 (char_u *)NULL, PV_NONE,
 2145 #endif
 2146                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 2147     {"rulerformat", "ruf",  P_STRING|P_VI_DEF|P_ALLOCED|P_RSTAT|P_MLE,
 2148 #ifdef FEAT_STL_OPT
 2149                 (char_u *)&p_ruf, PV_NONE,
 2150 #else
 2151                 (char_u *)NULL, PV_NONE,
 2152 #endif
 2153                 {(char_u *)"", (char_u *)0L} SCTX_INIT},
 2154     {"runtimepath", "rtp",  P_STRING|P_VI_DEF|P_EXPAND|P_ONECOMMA|P_NODUP
 2155                                     |P_SECURE,
 2156                 (char_u *)&p_rtp, PV_NONE,
 2157                 {(char_u *)DFLT_RUNTIMEPATH, (char_u *)0L}
 2158                 SCTX_INIT},
 2159     {"scroll",      "scr",  P_NUM|P_NO_MKRC|P_VI_DEF,
 2160                 (char_u *)VAR_WIN, PV_SCROLL,
 2161                 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
 2162     {"scrollbind",  "scb",  P_BOOL|P_VI_DEF,
 2163                 (char_u *)VAR_WIN, PV_SCBIND,
 2164                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 2165     {"scrollfocus", "scf",  P_BOOL|P_VI_DEF,
 2166 #if defined(MSWIN) && defined(FEAT_GUI)
 2167                 (char_u *)&p_scf, PV_NONE,
 2168 #else
 2169                 (char_u *)NULL, PV_NONE,
 2170 #endif
 2171                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 2172     {"scrolljump",  "sj",   P_NUM|P_VI_DEF|P_VIM,
 2173                 (char_u *)&p_sj, PV_NONE,
 2174                 {(char_u *)1L, (char_u *)0L} SCTX_INIT},
 2175     {"scrolloff",   "so",   P_NUM|P_VI_DEF|P_VIM|P_RALL,
 2176                 (char_u *)&p_so, PV_SO,
 2177                 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
 2178     {"scrollopt",   "sbo",  P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
 2179                 (char_u *)&p_sbo, PV_NONE,
 2180                 {(char_u *)"ver,jump", (char_u *)0L}
 2181                 SCTX_INIT},
 2182     {"sections",    "sect", P_STRING|P_VI_DEF,
 2183                 (char_u *)&p_sections, PV_NONE,
 2184                 {(char_u *)"SHNHH HUnhsh", (char_u *)0L}
 2185                 SCTX_INIT},
 2186     {"secure",      NULL,   P_BOOL|P_VI_DEF|P_SECURE,
 2187                 (char_u *)&p_secure, PV_NONE,
 2188                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 2189     {"selection",   "sel",  P_STRING|P_VI_DEF,
 2190                 (char_u *)&p_sel, PV_NONE,
 2191                 {(char_u *)"inclusive", (char_u *)0L}
 2192                 SCTX_INIT},
 2193     {"selectmode",  "slm",  P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
 2194                 (char_u *)&p_slm, PV_NONE,
 2195                 {(char_u *)"", (char_u *)0L} SCTX_INIT},
 2196     {"sessionoptions", "ssop", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
 2197 #ifdef FEAT_SESSION
 2198                 (char_u *)&p_ssop, PV_NONE,
 2199      {(char_u *)"blank,buffers,curdir,folds,help,options,tabpages,winsize,terminal",
 2200                                    (char_u *)0L}
 2201 #else
 2202                 (char_u *)NULL, PV_NONE,
 2203                 {(char_u *)0L, (char_u *)0L}
 2204 #endif
 2205                 SCTX_INIT},
 2206     {"shell",       "sh",   P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
 2207                 (char_u *)&p_sh, PV_NONE,
 2208                 {
 2209 #ifdef VMS
 2210                 (char_u *)"-",
 2211 #else
 2212 # if defined(MSWIN)
 2213                 (char_u *)"",   // set in set_init_1()
 2214 # else
 2215                 (char_u *)"sh",
 2216 # endif
 2217 #endif // VMS
 2218                 (char_u *)0L} SCTX_INIT},
 2219     {"shellcmdflag","shcf", P_STRING|P_VI_DEF|P_SECURE,
 2220                 (char_u *)&p_shcf, PV_NONE,
 2221                 {
 2222 #if defined(MSWIN)
 2223                 (char_u *)"/c",
 2224 #else
 2225                 (char_u *)"-c",
 2226 #endif
 2227                 (char_u *)0L} SCTX_INIT},
 2228     {"shellpipe",   "sp",   P_STRING|P_VI_DEF|P_SECURE,
 2229 #ifdef FEAT_QUICKFIX
 2230                 (char_u *)&p_sp, PV_NONE,
 2231                 {
 2232 #if defined(UNIX)
 2233                 (char_u *)"| tee",
 2234 #else
 2235                 (char_u *)">",
 2236 #endif
 2237                 (char_u *)0L}
 2238 #else
 2239                 (char_u *)NULL, PV_NONE,
 2240                 {(char_u *)0L, (char_u *)0L}
 2241 #endif
 2242                 SCTX_INIT},
 2243     {"shellquote",  "shq",  P_STRING|P_VI_DEF|P_SECURE,
 2244                 (char_u *)&p_shq, PV_NONE,
 2245                 {(char_u *)"", (char_u *)0L} SCTX_INIT},
 2246     {"shellredir",  "srr",  P_STRING|P_VI_DEF|P_SECURE,
 2247                 (char_u *)&p_srr, PV_NONE,
 2248                 {(char_u *)">", (char_u *)0L} SCTX_INIT},
 2249     {"shellslash",  "ssl",   P_BOOL|P_VI_DEF,
 2250 #ifdef BACKSLASH_IN_FILENAME
 2251                 (char_u *)&p_ssl, PV_NONE,
 2252 #else
 2253                 (char_u *)NULL, PV_NONE,
 2254 #endif
 2255                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 2256     {"shelltemp",   "stmp", P_BOOL,
 2257                 (char_u *)&p_stmp, PV_NONE,
 2258                 {(char_u *)FALSE, (char_u *)TRUE} SCTX_INIT},
 2259     {"shelltype",   "st",   P_NUM|P_VI_DEF,
 2260 #ifdef AMIGA
 2261                 (char_u *)&p_st, PV_NONE,
 2262 #else
 2263                 (char_u *)NULL, PV_NONE,
 2264 #endif
 2265                 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
 2266     {"shellxquote", "sxq",  P_STRING|P_VI_DEF|P_SECURE,
 2267                 (char_u *)&p_sxq, PV_NONE,
 2268                 {
 2269 #if defined(UNIX) && defined(USE_SYSTEM)
 2270                 (char_u *)"\"",
 2271 #else
 2272                 (char_u *)"",
 2273 #endif
 2274                 (char_u *)0L} SCTX_INIT},
 2275     {"shellxescape", "sxe", P_STRING|P_VI_DEF|P_SECURE,
 2276                 (char_u *)&p_sxe, PV_NONE,
 2277                 {
 2278 #if defined(MSWIN)
 2279                 (char_u *)"\"&|<>()@^",
 2280 #else
 2281                 (char_u *)"",
 2282 #endif
 2283                 (char_u *)0L} SCTX_INIT},
 2284     {"shiftround",  "sr",   P_BOOL|P_VI_DEF|P_VIM,
 2285                 (char_u *)&p_sr, PV_NONE,
 2286                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 2287     {"shiftwidth",  "sw",   P_NUM|P_VI_DEF,
 2288                 (char_u *)&p_sw, PV_SW,
 2289                 {(char_u *)8L, (char_u *)0L} SCTX_INIT},
 2290     {"shortmess",   "shm",  P_STRING|P_VIM|P_FLAGLIST,
 2291                 (char_u *)&p_shm, PV_NONE,
 2292                 {(char_u *)"S", (char_u *)"filnxtToOS"}
 2293                 SCTX_INIT},
 2294     {"shortname",   "sn",   P_BOOL|P_VI_DEF,
 2295                 (char_u *)&p_sn, PV_SN,
 2296                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 2297     {"showbreak",   "sbr",  P_STRING|P_VI_DEF|P_RALL,
 2298 #ifdef FEAT_LINEBREAK
 2299                 (char_u *)&p_sbr, PV_SBR,
 2300 #else
 2301                 (char_u *)NULL, PV_NONE,
 2302 #endif
 2303                 {(char_u *)"", (char_u *)0L} SCTX_INIT},
 2304     {"showcmd",     "sc",   P_BOOL|P_VIM,
 2305 #ifdef FEAT_CMDL_INFO
 2306                 (char_u *)&p_sc, PV_NONE,
 2307 #else
 2308                 (char_u *)NULL, PV_NONE,
 2309 #endif
 2310                 {(char_u *)FALSE,
 2311 #ifdef UNIX
 2312                 (char_u *)FALSE
 2313 #else
 2314                 (char_u *)TRUE
 2315 #endif
 2316                 } SCTX_INIT},
 2317     {"showfulltag", "sft",  P_BOOL|P_VI_DEF,
 2318                 (char_u *)&p_sft, PV_NONE,
 2319                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 2320     {"showmatch",   "sm",   P_BOOL|P_VI_DEF,
 2321                 (char_u *)&p_sm, PV_NONE,
 2322                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 2323     {"showmode",    "smd",  P_BOOL|P_VIM,
 2324                 (char_u *)&p_smd, PV_NONE,
 2325                 {(char_u *)FALSE, (char_u *)TRUE} SCTX_INIT},
 2326     {"showtabline", "stal", P_NUM|P_VI_DEF|P_RALL,
 2327                 (char_u *)&p_stal, PV_NONE,
 2328                 {(char_u *)1L, (char_u *)0L} SCTX_INIT},
 2329     {"sidescroll",  "ss",   P_NUM|P_VI_DEF,
 2330                 (char_u *)&p_ss, PV_NONE,
 2331                 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
 2332     {"sidescrolloff", "siso", P_NUM|P_VI_DEF|P_VIM|P_RBUF,
 2333                 (char_u *)&p_siso, PV_SISO,
 2334                 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
 2335     {"signcolumn",   "scl",  P_STRING|P_ALLOCED|P_VI_DEF|P_RCLR,
 2336 #ifdef FEAT_SIGNS
 2337                 (char_u *)VAR_WIN, PV_SCL,
 2338                 {(char_u *)"auto", (char_u *)0L}
 2339 #else
 2340                 (char_u *)NULL, PV_NONE,
 2341                 {(char_u *)NULL, (char_u *)0L}
 2342 #endif
 2343                 SCTX_INIT},
 2344     {"slowopen",    "slow", P_BOOL|P_VI_DEF,
 2345                 (char_u *)NULL, PV_NONE,
 2346                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 2347     {"smartcase",   "scs",  P_BOOL|P_VI_DEF|P_VIM,
 2348                 (char_u *)&p_scs, PV_NONE,
 2349                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 2350     {"smartindent", "si",   P_BOOL|P_VI_DEF|P_VIM,
 2351 #ifdef FEAT_SMARTINDENT
 2352                 (char_u *)&p_si, PV_SI,
 2353 #else
 2354                 (char_u *)NULL, PV_NONE,
 2355 #endif
 2356                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 2357     {"smarttab",    "sta",  P_BOOL|P_VI_DEF|P_VIM,
 2358                 (char_u *)&p_sta, PV_NONE,
 2359                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 2360     {"softtabstop", "sts",  P_NUM|P_VI_DEF|P_VIM,
 2361                 (char_u *)&p_sts, PV_STS,
 2362                 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
 2363     {"sourceany",   NULL,   P_BOOL|P_VI_DEF,
 2364                 (char_u *)NULL, PV_NONE,
 2365                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 2366     {"spell",       NULL,   P_BOOL|P_VI_DEF|P_RWIN,
 2367 #ifdef FEAT_SPELL
 2368                 (char_u *)VAR_WIN, PV_SPELL,
 2369 #else
 2370                 (char_u *)NULL, PV_NONE,
 2371 #endif
 2372                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 2373     {"spellcapcheck", "spc", P_STRING|P_ALLOCED|P_VI_DEF|P_RBUF,
 2374 #ifdef FEAT_SPELL
 2375                 (char_u *)&p_spc, PV_SPC,
 2376                 {(char_u *)"[.?!]\\_[\\])'\"     ]\\+", (char_u *)0L}
 2377 #else
 2378                 (char_u *)NULL, PV_NONE,
 2379                 {(char_u *)0L, (char_u *)0L}
 2380 #endif
 2381                 SCTX_INIT},
 2382     {"spellfile",   "spf",  P_STRING|P_EXPAND|P_ALLOCED|P_VI_DEF|P_SECURE
 2383                                   |P_ONECOMMA,
 2384 #ifdef FEAT_SPELL
 2385                 (char_u *)&p_spf, PV_SPF,
 2386                 {(char_u *)"", (char_u *)0L}
 2387 #else
 2388                 (char_u *)NULL, PV_NONE,
 2389                 {(char_u *)0L, (char_u *)0L}
 2390 #endif
 2391                 SCTX_INIT},
 2392     {"spelllang",   "spl",  P_STRING|P_ALLOCED|P_VI_DEF|P_ONECOMMA
 2393                                  |P_RBUF|P_EXPAND,
 2394 #ifdef FEAT_SPELL
 2395                 (char_u *)&p_spl, PV_SPL,
 2396                 {(char_u *)"en", (char_u *)0L}
 2397 #else
 2398                 (char_u *)NULL, PV_NONE,
 2399                 {(char_u *)0L, (char_u *)0L}
 2400 #endif
 2401                 SCTX_INIT},
 2402     {"spelloptions", "spo",  P_STRING|P_ALLOCED|P_VI_DEF
 2403                             |P_ONECOMMA|P_NODUP|P_RBUF,
 2404 #ifdef FEAT_SPELL
 2405                 (char_u *)&p_spo, PV_SPO,
 2406                 {(char_u *)"", (char_u *)0L}
 2407 #else
 2408                 (char_u *)NULL, PV_NONE,
 2409                 {(char_u *)0L, (char_u *)0L}
 2410 #endif
 2411                 SCTX_INIT},
 2412     {"spellsuggest", "sps", P_STRING|P_VI_DEF|P_EXPAND|P_SECURE|P_ONECOMMA,
 2413 #ifdef FEAT_SPELL
 2414                 (char_u *)&p_sps, PV_NONE,
 2415                 {(char_u *)"best", (char_u *)0L}
 2416 #else
 2417                 (char_u *)NULL, PV_NONE,
 2418                 {(char_u *)0L, (char_u *)0L}
 2419 #endif
 2420                 SCTX_INIT},
 2421     {"splitbelow",  "sb",   P_BOOL|P_VI_DEF,
 2422                 (char_u *)&p_sb, PV_NONE,
 2423                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 2424     {"splitright",  "spr",  P_BOOL|P_VI_DEF,
 2425                 (char_u *)&p_spr, PV_NONE,
 2426                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 2427     {"startofline", "sol",  P_BOOL|P_VI_DEF|P_VIM,
 2428                 (char_u *)&p_sol, PV_NONE,
 2429                 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
 2430     {"statusline"  ,"stl",  P_STRING|P_VI_DEF|P_ALLOCED|P_RSTAT|P_MLE,
 2431 #ifdef FEAT_STL_OPT
 2432                 (char_u *)&p_stl, PV_STL,
 2433 #else
 2434                 (char_u *)NULL, PV_NONE,
 2435 #endif
 2436                 {(char_u *)"", (char_u *)0L} SCTX_INIT},
 2437     {"suffixes",    "su",   P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
 2438                 (char_u *)&p_su, PV_NONE,
 2439                 {(char_u *)".bak,~,.o,.h,.info,.swp,.obj",
 2440                 (char_u *)0L} SCTX_INIT},
 2441     {"suffixesadd", "sua",  P_STRING|P_VI_DEF|P_ALLOCED|P_ONECOMMA|P_NODUP,
 2442 #ifdef FEAT_SEARCHPATH
 2443                 (char_u *)&p_sua, PV_SUA,
 2444                 {(char_u *)"", (char_u *)0L}
 2445 #else
 2446                 (char_u *)NULL, PV_NONE,
 2447                 {(char_u *)0L, (char_u *)0L}
 2448 #endif
 2449                 SCTX_INIT},
 2450     {"swapfile",    "swf",  P_BOOL|P_VI_DEF|P_RSTAT,
 2451                 (char_u *)&p_swf, PV_SWF,
 2452                 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
 2453     {"swapsync",    "sws",  P_STRING|P_VI_DEF,
 2454                 (char_u *)&p_sws, PV_NONE,
 2455                 {(char_u *)"fsync", (char_u *)0L} SCTX_INIT},
 2456     {"switchbuf",   "swb",  P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
 2457                 (char_u *)&p_swb, PV_NONE,
 2458                 {(char_u *)"", (char_u *)0L} SCTX_INIT},
 2459     {"synmaxcol",   "smc",  P_NUM|P_VI_DEF|P_RBUF,
 2460 #ifdef FEAT_SYN_HL
 2461                 (char_u *)&p_smc, PV_SMC,
 2462                 {(char_u *)3000L, (char_u *)0L}
 2463 #else
 2464                 (char_u *)NULL, PV_NONE,
 2465                 {(char_u *)0L, (char_u *)0L}
 2466 #endif
 2467                 SCTX_INIT},
 2468     {"syntax",      "syn",  P_STRING|P_ALLOCED|P_VI_DEF|P_NOGLOB|P_NFNAME,
 2469 #ifdef FEAT_SYN_HL
 2470                 (char_u *)&p_syn, PV_SYN,
 2471                 {(char_u *)"", (char_u *)0L}
 2472 #else
 2473                 (char_u *)NULL, PV_NONE,
 2474                 {(char_u *)0L, (char_u *)0L}
 2475 #endif
 2476                 SCTX_INIT},
 2477     {"tabline",     "tal",  P_STRING|P_VI_DEF|P_RALL|P_MLE,
 2478 #ifdef FEAT_STL_OPT
 2479                 (char_u *)&p_tal, PV_NONE,
 2480 #else
 2481                 (char_u *)NULL, PV_NONE,
 2482 #endif
 2483                 {(char_u *)"", (char_u *)0L} SCTX_INIT},
 2484     {"tabpagemax",  "tpm",  P_NUM|P_VI_DEF,
 2485                 (char_u *)&p_tpm, PV_NONE,
 2486                 {(char_u *)10L, (char_u *)0L} SCTX_INIT},
 2487     {"tabstop",     "ts",   P_NUM|P_VI_DEF|P_RBUF,
 2488                 (char_u *)&p_ts, PV_TS,
 2489                 {(char_u *)8L, (char_u *)0L} SCTX_INIT},
 2490     {"tagbsearch",  "tbs",   P_BOOL|P_VI_DEF,
 2491                 (char_u *)&p_tbs, PV_NONE,
 2492 #ifdef VMS  // binary searching doesn't appear to work on VMS
 2493                 {(char_u *)0L, (char_u *)0L}
 2494 #else
 2495                 {(char_u *)TRUE, (char_u *)0L}
 2496 #endif
 2497                 SCTX_INIT},
 2498     {"tagcase",     "tc",   P_STRING|P_VIM,
 2499                 (char_u *)&p_tc, PV_TC,
 2500                 {(char_u *)"followic", (char_u *)"followic"} SCTX_INIT},
 2501     {"tagfunc",    "tfu",   P_STRING|P_ALLOCED|P_VI_DEF|P_SECURE,
 2502 #ifdef FEAT_EVAL
 2503                 (char_u *)&p_tfu, PV_TFU,
 2504                 {(char_u *)"", (char_u *)0L}
 2505 #else
 2506                 (char_u *)NULL, PV_NONE,
 2507                 {(char_u *)0L, (char_u *)0L}
 2508 #endif
 2509                 SCTX_INIT},
 2510     {"taglength",   "tl",   P_NUM|P_VI_DEF,
 2511                 (char_u *)&p_tl, PV_NONE,
 2512                 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
 2513     {"tagrelative", "tr",   P_BOOL|P_VIM,
 2514                 (char_u *)&p_tr, PV_NONE,
 2515                 {(char_u *)FALSE, (char_u *)TRUE} SCTX_INIT},
 2516     {"tags",        "tag",  P_STRING|P_EXPAND|P_VI_DEF|P_ONECOMMA|P_NODUP,
 2517                 (char_u *)&p_tags, PV_TAGS,
 2518                 {
 2519 #if defined(FEAT_EMACS_TAGS) && !defined(CASE_INSENSITIVE_FILENAME)
 2520                 (char_u *)"./tags,./TAGS,tags,TAGS",
 2521 #else
 2522                 (char_u *)"./tags,tags",
 2523 #endif
 2524                 (char_u *)0L} SCTX_INIT},
 2525     {"tagstack",    "tgst", P_BOOL|P_VI_DEF,
 2526                 (char_u *)&p_tgst, PV_NONE,
 2527                 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
 2528     {"tcldll",      NULL,   P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
 2529 #if defined(DYNAMIC_TCL)
 2530                 (char_u *)&p_tcldll, PV_NONE,
 2531                 {(char_u *)DYNAMIC_TCL_DLL, (char_u *)0L}
 2532 #else
 2533                 (char_u *)NULL, PV_NONE,
 2534                 {(char_u *)0L, (char_u *)0L}
 2535 #endif
 2536                 SCTX_INIT},
 2537     {"term",        NULL,   P_STRING|P_EXPAND|P_NODEFAULT|P_NO_MKRC|P_VI_DEF|P_RALL,
 2538                 (char_u *)&T_NAME, PV_NONE,
 2539                 {(char_u *)"", (char_u *)0L} SCTX_INIT},
 2540     {"termbidi", "tbidi",   P_BOOL|P_VI_DEF,
 2541 #ifdef FEAT_ARABIC
 2542                 (char_u *)&p_tbidi, PV_NONE,
 2543 #else
 2544                 (char_u *)NULL, PV_NONE,
 2545 #endif
 2546                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 2547     {"termencoding", "tenc", P_STRING|P_VI_DEF|P_RCLR,
 2548                 (char_u *)&p_tenc, PV_NONE,
 2549                 {(char_u *)"", (char_u *)0L}
 2550                 SCTX_INIT},
 2551     {"termguicolors", "tgc", P_BOOL|P_VI_DEF|P_VIM|P_RCLR,
 2552 #ifdef FEAT_TERMGUICOLORS
 2553                 (char_u *)&p_tgc, PV_NONE,
 2554                 {(char_u *)FALSE, (char_u *)FALSE}
 2555 #else
 2556                 (char_u*)NULL, PV_NONE,
 2557                 {(char_u *)FALSE, (char_u *)FALSE}
 2558 #endif
 2559                 SCTX_INIT},
 2560     {"termwinkey", "twk",   P_STRING|P_ALLOCED|P_RWIN|P_VI_DEF,
 2561 #ifdef FEAT_TERMINAL
 2562                 (char_u *)VAR_WIN, PV_TWK,
 2563                 {(char_u *)"", (char_u *)NULL}
 2564 #else
 2565                 (char_u *)NULL, PV_NONE,
 2566                 {(char_u *)NULL, (char_u *)0L}
 2567 #endif
 2568                 SCTX_INIT},
 2569     {"termwinscroll", "twsl", P_NUM|P_VI_DEF|P_VIM|P_RBUF,
 2570 #ifdef FEAT_TERMINAL
 2571                 (char_u *)&p_twsl, PV_TWSL,
 2572                 {(char_u *)10000L, (char_u *)10000L}
 2573 #else
 2574                 (char_u *)NULL, PV_NONE,
 2575                 {(char_u *)NULL, (char_u *)0L}
 2576 #endif
 2577                 SCTX_INIT},
 2578     {"termwinsize", "tws",  P_STRING|P_ALLOCED|P_RWIN|P_VI_DEF,
 2579 #ifdef FEAT_TERMINAL
 2580                 (char_u *)VAR_WIN, PV_TWS,
 2581                 {(char_u *)"", (char_u *)NULL}
 2582 #else
 2583                 (char_u *)NULL, PV_NONE,
 2584                 {(char_u *)NULL, (char_u *)0L}
 2585 #endif
 2586                 SCTX_INIT},
 2587     {"termwintype", "twt",  P_STRING|P_ALLOCED|P_VI_DEF,
 2588 #if defined(MSWIN) && defined(FEAT_TERMINAL)
 2589                 (char_u *)&p_twt, PV_NONE,
 2590                 {(char_u *)"", (char_u *)NULL}
 2591 #else
 2592                 (char_u *)NULL, PV_NONE,
 2593                 {(char_u *)NULL, (char_u *)0L}
 2594 #endif
 2595                 SCTX_INIT},
 2596     {"terse",       NULL,   P_BOOL|P_VI_DEF,
 2597                 (char_u *)&p_terse, PV_NONE,
 2598                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 2599     {"textauto",    "ta",   P_BOOL|P_VIM,
 2600                 (char_u *)&p_ta, PV_NONE,
 2601                 {(char_u *)DFLT_TEXTAUTO, (char_u *)TRUE}
 2602                 SCTX_INIT},
 2603     {"textmode",    "tx",   P_BOOL|P_VI_DEF|P_NO_MKRC,
 2604                 (char_u *)&p_tx, PV_TX,
 2605                 {
 2606 #ifdef USE_CRNL
 2607                 (char_u *)TRUE,
 2608 #else
 2609                 (char_u *)FALSE,
 2610 #endif
 2611                 (char_u *)0L} SCTX_INIT},
 2612     {"textwidth",   "tw",   P_NUM|P_VI_DEF|P_VIM|P_RBUF,
 2613                 (char_u *)&p_tw, PV_TW,
 2614                 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
 2615     {"thesaurus",   "tsr",  P_STRING|P_EXPAND|P_VI_DEF|P_ONECOMMA|P_NODUP|P_NDNAME,
 2616                 (char_u *)&p_tsr, PV_TSR,
 2617                 {(char_u *)"", (char_u *)0L} SCTX_INIT},
 2618     {"tildeop",     "top",  P_BOOL|P_VI_DEF|P_VIM,
 2619                 (char_u *)&p_to, PV_NONE,
 2620                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 2621     {"timeout",     "to",   P_BOOL|P_VI_DEF,
 2622                 (char_u *)&p_timeout, PV_NONE,
 2623                 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
 2624     {"timeoutlen",  "tm",   P_NUM|P_VI_DEF,
 2625                 (char_u *)&p_tm, PV_NONE,
 2626                 {(char_u *)1000L, (char_u *)0L} SCTX_INIT},
 2627     {"title",       NULL,   P_BOOL|P_VI_DEF,
 2628 #ifdef FEAT_TITLE
 2629                 (char_u *)&p_title, PV_NONE,
 2630 #else
 2631                 (char_u *)NULL, PV_NONE,
 2632 #endif
 2633                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 2634     {"titlelen",    NULL,   P_NUM|P_VI_DEF,
 2635 #ifdef FEAT_TITLE
 2636                 (char_u *)&p_titlelen, PV_NONE,
 2637 #else
 2638                 (char_u *)NULL, PV_NONE,
 2639 #endif
 2640                 {(char_u *)85L, (char_u *)0L} SCTX_INIT},
 2641     {"titleold",    NULL,   P_STRING|P_VI_DEF|P_GETTEXT|P_SECURE|P_NO_MKRC,
 2642 #ifdef FEAT_TITLE
 2643                 (char_u *)&p_titleold, PV_NONE,
 2644                 {(char_u *)N_("Thanks for flying Vim"),
 2645                                    (char_u *)0L}
 2646 #else
 2647                 (char_u *)NULL, PV_NONE,
 2648                 {(char_u *)0L, (char_u *)0L}
 2649 #endif
 2650                 SCTX_INIT},
 2651     {"titlestring", NULL,   P_STRING|P_VI_DEF|P_MLE,
 2652 #ifdef FEAT_TITLE
 2653                 (char_u *)&p_titlestring, PV_NONE,
 2654 #else
 2655                 (char_u *)NULL, PV_NONE,
 2656 #endif
 2657                 {(char_u *)"", (char_u *)0L} SCTX_INIT},
 2658     {"toolbar",     "tb",   P_STRING|P_ONECOMMA|P_VI_DEF|P_NODUP,
 2659 #if defined(FEAT_TOOLBAR) && !defined(FEAT_GUI_MSWIN)
 2660                 (char_u *)&p_toolbar, PV_NONE,
 2661                 {(char_u *)"icons,tooltips", (char_u *)0L}
 2662 #else
 2663                 (char_u *)NULL, PV_NONE,
 2664                 {(char_u *)0L, (char_u *)0L}
 2665 #endif
 2666                 SCTX_INIT},
 2667     {"toolbariconsize", "tbis", P_STRING|P_VI_DEF,
 2668 #if defined(FEAT_TOOLBAR) && defined(FEAT_GUI_GTK)
 2669                 (char_u *)&p_tbis, PV_NONE,
 2670                 {(char_u *)"small", (char_u *)0L}
 2671 #else
 2672                 (char_u *)NULL, PV_NONE,
 2673                 {(char_u *)0L, (char_u *)0L}
 2674 #endif
 2675                 SCTX_INIT},
 2676     {"ttimeout",    NULL,   P_BOOL|P_VI_DEF|P_VIM,
 2677                 (char_u *)&p_ttimeout, PV_NONE,
 2678                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 2679     {"ttimeoutlen", "ttm",  P_NUM|P_VI_DEF,
 2680                 (char_u *)&p_ttm, PV_NONE,
 2681                 {(char_u *)-1L, (char_u *)0L} SCTX_INIT},
 2682     {"ttybuiltin",  "tbi",  P_BOOL|P_VI_DEF,
 2683                 (char_u *)&p_tbi, PV_NONE,
 2684                 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
 2685     {"ttyfast",     "tf",   P_BOOL|P_NO_MKRC|P_VI_DEF,
 2686                 (char_u *)&p_tf, PV_NONE,
 2687                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 2688     {"ttymouse",    "ttym", P_STRING|P_NODEFAULT|P_NO_MKRC|P_VI_DEF,
 2689 #if defined(UNIX) || defined(VMS)
 2690                 (char_u *)&p_ttym, PV_NONE,
 2691 #else
 2692                 (char_u *)NULL, PV_NONE,
 2693 #endif
 2694                 {(char_u *)"", (char_u *)0L} SCTX_INIT},
 2695     {"ttyscroll",   "tsl",  P_NUM|P_VI_DEF,
 2696                 (char_u *)&p_ttyscroll, PV_NONE,
 2697                 {(char_u *)999L, (char_u *)0L} SCTX_INIT},
 2698     {"ttytype",     "tty",  P_STRING|P_EXPAND|P_NODEFAULT|P_NO_MKRC|P_VI_DEF|P_RALL,
 2699                 (char_u *)&T_NAME, PV_NONE,
 2700                 {(char_u *)"", (char_u *)0L} SCTX_INIT},
 2701     {"undodir",     "udir", P_STRING|P_EXPAND|P_ONECOMMA|P_NODUP|P_SECURE
 2702                                     |P_VI_DEF,
 2703 #ifdef FEAT_PERSISTENT_UNDO
 2704                 (char_u *)&p_udir, PV_NONE,
 2705                 {(char_u *)".", (char_u *)0L}
 2706 #else
 2707                 (char_u *)NULL, PV_NONE,
 2708                 {(char_u *)0L, (char_u *)0L}
 2709 #endif
 2710                 SCTX_INIT},
 2711     {"undofile",    "udf",  P_BOOL|P_VI_DEF|P_VIM,
 2712 #ifdef FEAT_PERSISTENT_UNDO
 2713                 (char_u *)&p_udf, PV_UDF,
 2714 #else
 2715                 (char_u *)NULL, PV_NONE,
 2716 #endif
 2717                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 2718     {"undolevels",  "ul",   P_NUM|P_VI_DEF,
 2719                 (char_u *)&p_ul, PV_UL,
 2720                 {
 2721 #if defined(UNIX) || defined(MSWIN) || defined(VMS)
 2722                 (char_u *)1000L,
 2723 #else
 2724                 (char_u *)100L,
 2725 #endif
 2726                 (char_u *)0L} SCTX_INIT},
 2727     {"undoreload",  "ur",   P_NUM|P_VI_DEF,
 2728                 (char_u *)&p_ur, PV_NONE,
 2729                 { (char_u *)10000L, (char_u *)0L} SCTX_INIT},
 2730     {"updatecount", "uc",   P_NUM|P_VI_DEF,
 2731                 (char_u *)&p_uc, PV_NONE,
 2732                 {(char_u *)200L, (char_u *)0L} SCTX_INIT},
 2733     {"updatetime",  "ut",   P_NUM|P_VI_DEF,
 2734                 (char_u *)&p_ut, PV_NONE,
 2735                 {(char_u *)4000L, (char_u *)0L} SCTX_INIT},
 2736     {"varsofttabstop", "vsts",  P_STRING|P_VI_DEF|P_VIM|P_COMMA,
 2737 #ifdef FEAT_VARTABS
 2738                 (char_u *)&p_vsts, PV_VSTS,
 2739                 {(char_u *)"", (char_u *)0L}
 2740 #else
 2741                 (char_u *)NULL, PV_NONE,
 2742                 {(char_u *)"", (char_u *)NULL}
 2743 #endif
 2744                 SCTX_INIT},
 2745     {"vartabstop",  "vts",  P_STRING|P_VI_DEF|P_VIM|P_RBUF|P_COMMA,
 2746 #ifdef FEAT_VARTABS
 2747                 (char_u *)&p_vts, PV_VTS,
 2748                 {(char_u *)"", (char_u *)0L}
 2749 #else
 2750                 (char_u *)NULL, PV_NONE,
 2751                 {(char_u *)"", (char_u *)NULL}
 2752 #endif
 2753                 SCTX_INIT},
 2754     {"verbose",     "vbs",  P_NUM|P_VI_DEF,
 2755                 (char_u *)&p_verbose, PV_NONE,
 2756                 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
 2757     {"verbosefile", "vfile", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
 2758                 (char_u *)&p_vfile, PV_NONE,
 2759                 {(char_u *)"", (char_u *)0L} SCTX_INIT},
 2760     {"viewdir",     "vdir", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
 2761 #ifdef FEAT_SESSION
 2762                 (char_u *)&p_vdir, PV_NONE,
 2763                 {(char_u *)DFLT_VDIR, (char_u *)0L}
 2764 #else
 2765                 (char_u *)NULL, PV_NONE,
 2766                 {(char_u *)0L, (char_u *)0L}
 2767 #endif
 2768                 SCTX_INIT},
 2769     {"viewoptions", "vop",  P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
 2770 #ifdef FEAT_SESSION
 2771                 (char_u *)&p_vop, PV_NONE,
 2772                 {(char_u *)"folds,options,cursor,curdir",
 2773                                   (char_u *)0L}
 2774 #else
 2775                 (char_u *)NULL, PV_NONE,
 2776                 {(char_u *)0L, (char_u *)0L}
 2777 #endif
 2778                 SCTX_INIT},
 2779     {"viminfo",     "vi",   P_STRING|P_ONECOMMA|P_NODUP|P_SECURE,
 2780 #ifdef FEAT_VIMINFO
 2781                 (char_u *)&p_viminfo, PV_NONE,
 2782 #if defined(MSWIN)
 2783                 {(char_u *)"", (char_u *)"'100,<50,s10,h,rA:,rB:"}
 2784 #else
 2785 # ifdef AMIGA
 2786                 {(char_u *)"",
 2787                  (char_u *)"'100,<50,s10,h,rdf0:,rdf1:,rdf2:"}
 2788 # else
 2789                 {(char_u *)"", (char_u *)"'100,<50,s10,h"}
 2790 # endif
 2791 #endif
 2792 #else
 2793                 (char_u *)NULL, PV_NONE,
 2794                 {(char_u *)0L, (char_u *)0L}
 2795 #endif
 2796                 SCTX_INIT},
 2797     {"viminfofile", "vif",  P_STRING|P_EXPAND|P_ONECOMMA|P_NODUP
 2798                                 |P_SECURE|P_VI_DEF,
 2799 #ifdef FEAT_VIMINFO
 2800                 (char_u *)&p_viminfofile, PV_NONE,
 2801                 {(char_u *)"", (char_u *)0L}
 2802 #else
 2803                 (char_u *)NULL, PV_NONE,
 2804                 {(char_u *)0L, (char_u *)0L}
 2805 #endif
 2806                 SCTX_INIT},
 2807     {"virtualedit", "ve",   P_STRING|P_ONECOMMA|P_NODUP|P_VI_DEF
 2808                                 |P_VIM|P_CURSWANT,
 2809                 (char_u *)&p_ve, PV_NONE,
 2810                 {(char_u *)"", (char_u *)""}
 2811                 SCTX_INIT},
 2812     {"visualbell",  "vb",   P_BOOL|P_VI_DEF,
 2813                 (char_u *)&p_vb, PV_NONE,
 2814                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 2815     {"w300",        NULL,   P_NUM|P_VI_DEF,
 2816                 (char_u *)NULL, PV_NONE,
 2817                 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
 2818     {"w1200",       NULL,   P_NUM|P_VI_DEF,
 2819                 (char_u *)NULL, PV_NONE,
 2820                 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
 2821     {"w9600",       NULL,   P_NUM|P_VI_DEF,
 2822                 (char_u *)NULL, PV_NONE,
 2823                 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
 2824     {"warn",        NULL,   P_BOOL|P_VI_DEF,
 2825                 (char_u *)&p_warn, PV_NONE,
 2826                 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
 2827     {"weirdinvert", "wiv",  P_BOOL|P_VI_DEF|P_RCLR,
 2828                 (char_u *)&p_wiv, PV_NONE,
 2829                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 2830     {"whichwrap",   "ww",   P_STRING|P_VIM|P_ONECOMMA|P_FLAGLIST,
 2831                 (char_u *)&p_ww, PV_NONE,
 2832                 {(char_u *)"", (char_u *)"b,s"} SCTX_INIT},
 2833     {"wildchar",    "wc",   P_NUM|P_VIM,
 2834                 (char_u *)&p_wc, PV_NONE,
 2835                 {(char_u *)(long)Ctrl_E, (char_u *)(long)TAB}
 2836                 SCTX_INIT},
 2837     {"wildcharm",   "wcm",  P_NUM|P_VI_DEF,
 2838                 (char_u *)&p_wcm, PV_NONE,
 2839                 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
 2840     {"wildignore",  "wig",  P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
 2841 #ifdef FEAT_WILDIGN
 2842                 (char_u *)&p_wig, PV_NONE,
 2843 #else
 2844                 (char_u *)NULL, PV_NONE,
 2845 #endif
 2846                 {(char_u *)"", (char_u *)0L} SCTX_INIT},
 2847     {"wildignorecase", "wic", P_BOOL|P_VI_DEF,
 2848                 (char_u *)&p_wic, PV_NONE,
 2849                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 2850     {"wildmenu",    "wmnu", P_BOOL|P_VI_DEF,
 2851 #ifdef FEAT_WILDMENU
 2852                 (char_u *)&p_wmnu, PV_NONE,
 2853 #else
 2854                 (char_u *)NULL, PV_NONE,
 2855 #endif
 2856                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 2857     {"wildmode",    "wim",  P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
 2858                 (char_u *)&p_wim, PV_NONE,
 2859                 {(char_u *)"full", (char_u *)0L} SCTX_INIT},
 2860     {"wildoptions", "wop",  P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
 2861                 (char_u *)&p_wop, PV_NONE,
 2862                 {(char_u *)"", (char_u *)0L}
 2863                 SCTX_INIT},
 2864     {"winaltkeys",  "wak",  P_STRING|P_VI_DEF,
 2865 #ifdef FEAT_WAK
 2866                 (char_u *)&p_wak, PV_NONE,
 2867                 {(char_u *)"menu", (char_u *)0L}
 2868 #else
 2869                 (char_u *)NULL, PV_NONE,
 2870                 {(char_u *)NULL, (char_u *)0L}
 2871 #endif
 2872                 SCTX_INIT},
 2873     {"wincolor", "wcr",     P_STRING|P_ALLOCED|P_VI_DEF|P_RWIN,
 2874                 (char_u *)VAR_WIN, PV_WCR,
 2875                 {(char_u *)"", (char_u *)NULL}
 2876                 SCTX_INIT},
 2877     {"window",      "wi",   P_NUM|P_VI_DEF,
 2878                 (char_u *)&p_window, PV_NONE,
 2879                 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
 2880     {"winheight",   "wh",   P_NUM|P_VI_DEF,
 2881                 (char_u *)&p_wh, PV_NONE,
 2882                 {(char_u *)1L, (char_u *)0L} SCTX_INIT},
 2883     {"winfixheight", "wfh", P_BOOL|P_VI_DEF|P_RSTAT,
 2884                 (char_u *)VAR_WIN, PV_WFH,
 2885                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 2886     {"winfixwidth", "wfw", P_BOOL|P_VI_DEF|P_RSTAT,
 2887                 (char_u *)VAR_WIN, PV_WFW,
 2888                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 2889     {"winminheight", "wmh", P_NUM|P_VI_DEF,
 2890                 (char_u *)&p_wmh, PV_NONE,
 2891                 {(char_u *)1L, (char_u *)0L} SCTX_INIT},
 2892     {"winminwidth", "wmw", P_NUM|P_VI_DEF,
 2893                 (char_u *)&p_wmw, PV_NONE,
 2894                 {(char_u *)1L, (char_u *)0L} SCTX_INIT},
 2895     {"winptydll", NULL,     P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
 2896 #if defined(MSWIN) && defined(FEAT_TERMINAL)
 2897                 (char_u *)&p_winptydll, PV_NONE, {
 2898 # ifdef _WIN64
 2899                 (char_u *)"winpty64.dll",
 2900 # else
 2901                 (char_u *)"winpty32.dll",
 2902 # endif
 2903                 (char_u *)0L}
 2904 #else
 2905                 (char_u *)NULL, PV_NONE,
 2906                 {(char_u *)0L, (char_u *)0L}
 2907 #endif
 2908                 SCTX_INIT},
 2909     {"winwidth",   "wiw",   P_NUM|P_VI_DEF,
 2910                 (char_u *)&p_wiw, PV_NONE,
 2911                 {(char_u *)20L, (char_u *)0L} SCTX_INIT},
 2912     {"wrap",        NULL,   P_BOOL|P_VI_DEF|P_RWIN,
 2913                 (char_u *)VAR_WIN, PV_WRAP,
 2914                 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
 2915     {"wrapmargin",  "wm",   P_NUM|P_VI_DEF,
 2916                 (char_u *)&p_wm, PV_WM,
 2917                 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
 2918     {"wrapscan",    "ws",   P_BOOL|P_VI_DEF,
 2919                 (char_u *)&p_ws, PV_NONE,
 2920                 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
 2921     {"write",       NULL,   P_BOOL|P_VI_DEF,
 2922                 (char_u *)&p_write, PV_NONE,
 2923                 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
 2924     {"writeany",    "wa",   P_BOOL|P_VI_DEF,
 2925                 (char_u *)&p_wa, PV_NONE,
 2926                 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
 2927     {"writebackup", "wb",   P_BOOL|P_VI_DEF|P_VIM,
 2928                 (char_u *)&p_wb, PV_NONE,
 2929                 {
 2930 #ifdef FEAT_WRITEBACKUP
 2931                 (char_u *)TRUE,
 2932 #else
 2933                 (char_u *)FALSE,
 2934 #endif
 2935                 (char_u *)0L} SCTX_INIT},
 2936     {"writedelay",  "wd",   P_NUM|P_VI_DEF,
 2937                 (char_u *)&p_wd, PV_NONE,
 2938                 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
 2939 
 2940 // terminal output codes
 2941 #define p_term(sss, vvv)   {sss, NULL, P_STRING|P_VI_DEF|P_RALL|P_SECURE, \
 2942                 (char_u *)&vvv, PV_NONE, \
 2943                 {(char_u *)"", (char_u *)0L} SCTX_INIT},
 2944 
 2945     p_term("t_AB", T_CAB)
 2946     p_term("t_AF", T_CAF)
 2947     p_term("t_AU", T_CAU)
 2948     p_term("t_AL", T_CAL)
 2949     p_term("t_al", T_AL)
 2950     p_term("t_bc", T_BC)
 2951     p_term("t_BE", T_BE)
 2952     p_term("t_BD", T_BD)
 2953     p_term("t_cd", T_CD)
 2954     p_term("t_ce", T_CE)
 2955     p_term("t_cl", T_CL)
 2956     p_term("t_cm", T_CM)
 2957     p_term("t_Ce", T_UCE)
 2958     p_term("t_Co", T_CCO)
 2959     p_term("t_CS", T_CCS)
 2960     p_term("t_Cs", T_UCS)
 2961     p_term("t_cs", T_CS)
 2962     p_term("t_CV", T_CSV)
 2963     p_term("t_da", T_DA)
 2964     p_term("t_db", T_DB)
 2965     p_term("t_DL", T_CDL)
 2966     p_term("t_dl", T_DL)
 2967     p_term("t_EC", T_CEC)
 2968     p_term("t_EI", T_CEI)
 2969     p_term("t_fs", T_FS)
 2970     p_term("t_GP", T_CGP)
 2971     p_term("t_IE", T_CIE)
 2972     p_term("t_IS", T_CIS)
 2973     p_term("t_ke", T_KE)
 2974     p_term("t_ks", T_KS)
 2975     p_term("t_le", T_LE)
 2976     p_term("t_mb", T_MB)
 2977     p_term("t_md", T_MD)
 2978     p_term("t_me", T_ME)
 2979     p_term("t_mr", T_MR)
 2980     p_term("t_ms", T_MS)
 2981     p_term("t_nd", T_ND)
 2982     p_term("t_op", T_OP)
 2983     p_term("t_RF", T_RFG)
 2984     p_term("t_RB", T_RBG)
 2985     p_term("t_RC", T_CRC)
 2986     p_term("t_RI", T_CRI)
 2987     p_term("t_Ri", T_SRI)
 2988     p_term("t_RS", T_CRS)
 2989     p_term("t_RT", T_CRT)
 2990     p_term("t_RV", T_CRV)
 2991     p_term("t_Sb", T_CSB)
 2992     p_term("t_SC", T_CSC)
 2993     p_term("t_se", T_SE)
 2994     p_term("t_Sf", T_CSF)
 2995     p_term("t_SH", T_CSH)
 2996     p_term("t_SI", T_CSI)
 2997     p_term("t_Si", T_SSI)
 2998     p_term("t_so", T_SO)
 2999     p_term("t_SR", T_CSR)
 3000     p_term("t_sr", T_SR)
 3001     p_term("t_ST", T_CST)
 3002     p_term("t_Te", T_STE)
 3003     p_term("t_te", T_TE)
 3004     p_term("t_TE", T_CTE)
 3005     p_term("t_ti", T_TI)
 3006     p_term("t_TI", T_CTI)
 3007     p_term("t_Ts", T_STS)
 3008     p_term("t_ts", T_TS)
 3009     p_term("t_u7", T_U7)
 3010     p_term("t_ue", T_UE)
 3011     p_term("t_us", T_US)
 3012     p_term("t_ut", T_UT)
 3013     p_term("t_vb", T_VB)
 3014     p_term("t_ve", T_VE)
 3015     p_term("t_vi", T_VI)
 3016     p_term("t_VS", T_CVS)
 3017     p_term("t_vs", T_VS)
 3018     p_term("t_WP", T_CWP)
 3019     p_term("t_WS", T_CWS)
 3020     p_term("t_xn", T_XN)
 3021     p_term("t_xs", T_XS)
 3022     p_term("t_ZH", T_CZH)
 3023     p_term("t_ZR", T_CZR)
 3024     p_term("t_8f", T_8F)
 3025     p_term("t_8b", T_8B)
 3026     p_term("t_8u", T_8U)
 3027 
 3028 // terminal key codes are not in here
 3029 
 3030     // end marker
 3031     {NULL, NULL, 0, NULL, PV_NONE, {NULL, NULL} SCTX_INIT}
 3032 };
 3033 
 3034 #define OPTION_COUNT (sizeof(options) / sizeof(struct vimoption))
 3035 
 3036 // The following is needed to make the gen_opt_test.vim script work.
 3037 // {"