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