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