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