diff options
author | Bram Moolenaar <Bram@vim.org> | 2019-09-12 22:26:43 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2019-09-12 22:26:43 +0200 |
commit | 0eddca40a6d878823fc90b0cd25d5d101506c564 (patch) | |
tree | 70e556bfeb9287bb66e9a39e3ec053f96fa561cb /src/optiondefs.h | |
parent | 8fe1000e9c3438d0ff36cf2340f0f0e48f8fb89f (diff) |
patch 8.1.2022: the option.c file is too bigv8.1.2022
Problem: The option.c file is too big.
Solution: Move option definitions to a separate file. (Yegappan Lakshmanan,
closes #4918)
Diffstat (limited to 'src/optiondefs.h')
-rw-r--r-- | src/optiondefs.h | 3205 |
1 files changed, 3205 insertions, 0 deletions
diff --git a/src/optiondefs.h b/src/optiondefs.h new file mode 100644 index 0000000000..3897fd7bf7 --- /dev/null +++ b/src/optiondefs.h @@ -0,0 +1,3205 @@ +/* vi:set ts=8 sts=4 sw=4 noet: + * + * VIM - Vi IMproved by Bram Moolenaar + * + * Do ":help uganda" in Vim to read copying and usage conditions. + * Do ":help credits" in Vim to see a list of people who contributed. + */ + +/* + * optiondefs.h: option definitions + */ + +// The options that are local to a window or buffer have "indir" set to one of +// these values. Special values: +// PV_NONE: global option. +// PV_WIN is added: window-local option +// PV_BUF is added: buffer-local option +// PV_BOTH is added: global option which also has a local value. +#define PV_BOTH 0x1000 +#define PV_WIN 0x2000 +#define PV_BUF 0x4000 +#define PV_MASK 0x0fff +#define OPT_WIN(x) (idopt_T)(PV_WIN + (int)(x)) +#define OPT_BUF(x) (idopt_T)(PV_BUF + (int)(x)) +#define OPT_BOTH(x) (idopt_T)(PV_BOTH + (int)(x)) + +// Definition of the PV_ values for buffer-local options. +// The BV_ values are defined in option.h. +#define PV_AI OPT_BUF(BV_AI) +#define PV_AR OPT_BOTH(OPT_BUF(BV_AR)) +#define PV_BKC OPT_BOTH(OPT_BUF(BV_BKC)) +#define PV_BH OPT_BUF(BV_BH) +#define PV_BT OPT_BUF(BV_BT) +#ifdef FEAT_QUICKFIX +# define PV_EFM OPT_BOTH(OPT_BUF(BV_EFM)) +# define PV_GP OPT_BOTH(OPT_BUF(BV_GP)) +# define PV_MP OPT_BOTH(OPT_BUF(BV_MP)) +#endif +#define PV_BIN OPT_BUF(BV_BIN) +#define PV_BL OPT_BUF(BV_BL) +#define PV_BOMB OPT_BUF(BV_BOMB) +#define PV_CI OPT_BUF(BV_CI) +#ifdef FEAT_CINDENT +# define PV_CIN OPT_BUF(BV_CIN) +# define PV_CINK OPT_BUF(BV_CINK) +# define PV_CINO OPT_BUF(BV_CINO) +#endif +#if defined(FEAT_SMARTINDENT) || defined(FEAT_CINDENT) +# define PV_CINW OPT_BUF(BV_CINW) +#endif +#define PV_CM OPT_BOTH(OPT_BUF(BV_CM)) +#ifdef FEAT_FOLDING +# define PV_CMS OPT_BUF(BV_CMS) +#endif +#ifdef FEAT_COMMENTS +# define PV_COM OPT_BUF(BV_COM) +#endif +#define PV_CPT OPT_BUF(BV_CPT) +#define PV_DICT OPT_BOTH(OPT_BUF(BV_DICT)) +#define PV_TSR OPT_BOTH(OPT_BUF(BV_TSR)) +#define PV_CSL OPT_BUF(BV_CSL) +#ifdef FEAT_COMPL_FUNC +# define PV_CFU OPT_BUF(BV_CFU) +#endif +#ifdef FEAT_FIND_ID +# define PV_DEF OPT_BOTH(OPT_BUF(BV_DEF)) +# define PV_INC OPT_BOTH(OPT_BUF(BV_INC)) +#endif +#define PV_EOL OPT_BUF(BV_EOL) +#define PV_FIXEOL OPT_BUF(BV_FIXEOL) +#define PV_EP OPT_BOTH(OPT_BUF(BV_EP)) +#define PV_ET OPT_BUF(BV_ET) +#define PV_FENC OPT_BUF(BV_FENC) +#if defined(FEAT_BEVAL) && defined(FEAT_EVAL) +# define PV_BEXPR OPT_BOTH(OPT_BUF(BV_BEXPR)) +#endif +#define PV_FP OPT_BOTH(OPT_BUF(BV_FP)) +#ifdef FEAT_EVAL +# define PV_FEX OPT_BUF(BV_FEX) +#endif +#define PV_FF OPT_BUF(BV_FF) +#define PV_FLP OPT_BUF(BV_FLP) +#define PV_FO OPT_BUF(BV_FO) +#define PV_FT OPT_BUF(BV_FT) +#define PV_IMI OPT_BUF(BV_IMI) +#define PV_IMS OPT_BUF(BV_IMS) +#if defined(FEAT_CINDENT) && defined(FEAT_EVAL) +# define PV_INDE OPT_BUF(BV_INDE) +# define PV_INDK OPT_BUF(BV_INDK) +#endif +#if defined(FEAT_FIND_ID) && defined(FEAT_EVAL) +# define PV_INEX OPT_BUF(BV_INEX) +#endif +#define PV_INF OPT_BUF(BV_INF) +#define PV_ISK OPT_BUF(BV_ISK) +#ifdef FEAT_CRYPT +# define PV_KEY OPT_BUF(BV_KEY) +#endif +#ifdef FEAT_KEYMAP +# define PV_KMAP OPT_BUF(BV_KMAP) +#endif +#define PV_KP OPT_BOTH(OPT_BUF(BV_KP)) +#ifdef FEAT_LISP +# define PV_LISP OPT_BUF(BV_LISP) +# define PV_LW OPT_BOTH(OPT_BUF(BV_LW)) +#endif +#define PV_MENC OPT_BOTH(OPT_BUF(BV_MENC)) +#define PV_MA OPT_BUF(BV_MA) +#define PV_ML OPT_BUF(BV_ML) +#define PV_MOD OPT_BUF(BV_MOD) +#define PV_MPS OPT_BUF(BV_MPS) +#define PV_NF OPT_BUF(BV_NF) +#ifdef FEAT_COMPL_FUNC +# define PV_OFU OPT_BUF(BV_OFU) +#endif +#define PV_PATH OPT_BOTH(OPT_BUF(BV_PATH)) +#define PV_PI OPT_BUF(BV_PI) +#ifdef FEAT_TEXTOBJ +# define PV_QE OPT_BUF(BV_QE) +#endif +#define PV_RO OPT_BUF(BV_RO) +#ifdef FEAT_SMARTINDENT +# define PV_SI OPT_BUF(BV_SI) +#endif +#define PV_SN OPT_BUF(BV_SN) +#ifdef FEAT_SYN_HL +# define PV_SMC OPT_BUF(BV_SMC) +# define PV_SYN OPT_BUF(BV_SYN) +#endif +#ifdef FEAT_SPELL +# define PV_SPC OPT_BUF(BV_SPC) +# define PV_SPF OPT_BUF(BV_SPF) +# define PV_SPL OPT_BUF(BV_SPL) +#endif +#define PV_STS OPT_BUF(BV_STS) +#ifdef FEAT_SEARCHPATH +# define PV_SUA OPT_BUF(BV_SUA) +#endif +#define PV_SW OPT_BUF(BV_SW) +#define PV_SWF OPT_BUF(BV_SWF) +#ifdef FEAT_EVAL +# define PV_TFU OPT_BUF(BV_TFU) +#endif +#define PV_TAGS OPT_BOTH(OPT_BUF(BV_TAGS)) +#define PV_TC OPT_BOTH(OPT_BUF(BV_TC)) +#define PV_TS OPT_BUF(BV_TS) +#define PV_TW OPT_BUF(BV_TW) +#define PV_TX OPT_BUF(BV_TX) +#ifdef FEAT_PERSISTENT_UNDO +# define PV_UDF OPT_BUF(BV_UDF) +#endif +#define PV_WM OPT_BUF(BV_WM) +#ifdef FEAT_VARTABS +# define PV_VSTS OPT_BUF(BV_VSTS) +# define PV_VTS OPT_BUF(BV_VTS) +#endif + +// Definition of the PV_ values for window-local options. +// The WV_ values are defined in option.h. +#define PV_LIST OPT_WIN(WV_LIST) +#ifdef FEAT_ARABIC +# define PV_ARAB OPT_WIN(WV_ARAB) +#endif +#ifdef FEAT_LINEBREAK +# define PV_BRI OPT_WIN(WV_BRI) +# define PV_BRIOPT OPT_WIN(WV_BRIOPT) +#endif +# define PV_WCR OPT_WIN(WV_WCR) +#ifdef FEAT_DIFF +# define PV_DIFF OPT_WIN(WV_DIFF) +#endif +#ifdef FEAT_FOLDING +# define PV_FDC OPT_WIN(WV_FDC) +# define PV_FEN OPT_WIN(WV_FEN) +# define PV_FDI OPT_WIN(WV_FDI) +# define PV_FDL OPT_WIN(WV_FDL) +# define PV_FDM OPT_WIN(WV_FDM) +# define PV_FML OPT_WIN(WV_FML) +# define PV_FDN OPT_WIN(WV_FDN) +# ifdef FEAT_EVAL +# define PV_FDE OPT_WIN(WV_FDE) +# define PV_FDT OPT_WIN(WV_FDT) +# endif +# define PV_FMR OPT_WIN(WV_FMR) +#endif +#ifdef FEAT_LINEBREAK +# define PV_LBR OPT_WIN(WV_LBR) +#endif +#define PV_NU OPT_WIN(WV_NU) +#define PV_RNU OPT_WIN(WV_RNU) +#ifdef FEAT_LINEBREAK +# define PV_NUW OPT_WIN(WV_NUW) +#endif +#if defined(FEAT_QUICKFIX) +# define PV_PVW OPT_WIN(WV_PVW) +#endif +#ifdef FEAT_RIGHTLEFT +# define PV_RL OPT_WIN(WV_RL) +# define PV_RLC OPT_WIN(WV_RLC) +#endif +#define PV_SCBIND OPT_WIN(WV_SCBIND) +#define PV_SCROLL OPT_WIN(WV_SCROLL) +#define PV_SISO OPT_BOTH(OPT_WIN(WV_SISO)) +#define PV_SO OPT_BOTH(OPT_WIN(WV_SO)) +#ifdef FEAT_SPELL +# define PV_SPELL OPT_WIN(WV_SPELL) +#endif +#ifdef FEAT_SYN_HL +# define PV_CUC OPT_WIN(WV_CUC) +# define PV_CUL OPT_WIN(WV_CUL) +# define PV_CULOPT OPT_WIN(WV_CULOPT) +# define PV_CC OPT_WIN(WV_CC) +#endif +#ifdef FEAT_STL_OPT +# define PV_STL OPT_BOTH(OPT_WIN(WV_STL)) +#endif +#define PV_UL OPT_BOTH(OPT_BUF(BV_UL)) +# define PV_WFH OPT_WIN(WV_WFH) +# define PV_WFW OPT_WIN(WV_WFW) +#define PV_WRAP OPT_WIN(WV_WRAP) +#define PV_CRBIND OPT_WIN(WV_CRBIND) +#ifdef FEAT_CONCEAL +# define PV_COCU OPT_WIN(WV_COCU) +# define PV_COLE OPT_WIN(WV_COLE) +#endif +#ifdef FEAT_TERMINAL +# define PV_TWK OPT_WIN(WV_TWK) +# define PV_TWS OPT_WIN(WV_TWS) +# define PV_TWSL OPT_BUF(BV_TWSL) +#endif +#ifdef FEAT_SIGNS +# define PV_SCL OPT_WIN(WV_SCL) +#endif + +// WV_ and BV_ values get typecasted to this for the "indir" field +typedef enum +{ + PV_NONE = 0, + PV_MAXVAL = 0xffff // to avoid warnings for value out of range +} idopt_T; + +// Options local to a window have a value local to a buffer and global to all +// buffers. Indicate this by setting "var" to VAR_WIN. +#define VAR_WIN ((char_u *)-1) + +// These are the global values for options which are also local to a buffer. +// Only to be used in option.c! +static int p_ai; +static int p_bin; +static int p_bomb; +static char_u *p_bh; +static char_u *p_bt; +static int p_bl; +static int p_ci; +#ifdef FEAT_CINDENT +static int p_cin; +static char_u *p_cink; +static char_u *p_cino; +#endif +#if defined(FEAT_SMARTINDENT) || defined(FEAT_CINDENT) +static char_u *p_cinw; +#endif +#ifdef FEAT_COMMENTS +static char_u *p_com; +#endif +#ifdef FEAT_FOLDING +static char_u *p_cms; +#endif +static char_u *p_cpt; +#ifdef FEAT_COMPL_FUNC +static char_u *p_cfu; +static char_u *p_ofu; +#endif +#ifdef FEAT_EVAL +static char_u *p_tfu; +#endif +static int p_eol; +static int p_fixeol; +static int p_et; +static char_u *p_fenc; +static char_u *p_ff; +static char_u *p_fo; +static char_u *p_flp; +static char_u *p_ft; +static long p_iminsert; +static long p_imsearch; +#if defined(FEAT_FIND_ID) && defined(FEAT_EVAL) +static char_u *p_inex; +#endif +#if defined(FEAT_CINDENT) && defined(FEAT_EVAL) +static char_u *p_inde; +static char_u *p_indk; +#endif +#if defined(FEAT_EVAL) +static char_u *p_fex; +#endif +static int p_inf; +static char_u *p_isk; +#ifdef FEAT_CRYPT +static char_u *p_key; +#endif +#ifdef FEAT_LISP +static int p_lisp; +#endif +static int p_ml; +static int p_ma; +static int p_mod; +static char_u *p_mps; +static char_u *p_nf; +static int p_pi; +#ifdef FEAT_TEXTOBJ +static char_u *p_qe; +#endif +static int p_ro; +#ifdef FEAT_SMARTINDENT +static int p_si; +#endif +static int p_sn; +static long p_sts; +#if defined(FEAT_SEARCHPATH) +static char_u *p_sua; +#endif +static long p_sw; +static int p_swf; +#ifdef FEAT_SYN_HL +static long p_smc; +static char_u *p_syn; +#endif +#ifdef FEAT_SPELL +static char_u *p_spc; +static char_u *p_spf; +static char_u *p_spl; +#endif +static long p_ts; +static long p_tw; +static int p_tx; +#ifdef FEAT_PERSISTENT_UNDO +static int p_udf; +#endif +static long p_wm; +#ifdef FEAT_VARTABS +static char_u *p_vsts; +static char_u *p_vts; +#endif +#ifdef FEAT_KEYMAP +static char_u *p_keymap; +#endif +#ifdef FEAT_TERMINAL +static long p_twsl; // 'termwinscroll' +#endif + +// Saved values for when 'bin' is set. +static int p_et_nobin; +static int p_ml_nobin; +static long p_tw_nobin; +static long p_wm_nobin; + +// Saved values for when 'paste' is set +static int p_ai_nopaste; +static int p_et_nopaste; +static long p_sts_nopaste; +static long p_tw_nopaste; +static long p_wm_nopaste; +#ifdef FEAT_VARTABS +static char_u *p_vsts_nopaste; +#endif + +struct vimoption +{ + char *fullname; // full option name + char *shortname; // permissible abbreviation + long_u flags; // see below + char_u *var; // global option: pointer to variable; + // window-local option: VAR_WIN; + // buffer-local option: global value + idopt_T indir; // global option: PV_NONE; + // local option: indirect option index + char_u *def_val[2]; // default values for variable (vi and vim) +#ifdef FEAT_EVAL + sctx_T script_ctx; // script context where the option was last set +# define SCTX_INIT , {0, 0, 0, 1} +#else +# define SCTX_INIT +#endif +}; + +#define VI_DEFAULT 0 // def_val[VI_DEFAULT] is Vi default value +#define VIM_DEFAULT 1 // def_val[VIM_DEFAULT] is Vim default value + +// +// Flags +// +#define P_BOOL 0x01 // the option is boolean +#define P_NUM 0x02 // the option is numeric +#define P_STRING 0x04 // the option is a string +#define P_ALLOCED 0x08 // the string option is in allocated memory, + // must use free_string_option() when + // assigning new value. Not set if default is + // the same. +#define P_EXPAND 0x10 // environment expansion. NOTE: P_EXPAND can + // never be used for local or hidden options! +#define P_NODEFAULT 0x40 // don't set to default value +#define P_DEF_ALLOCED 0x80 // default value is in allocated memory, must + // use vim_free() when assigning new value +#define P_WAS_SET 0x100 // option has been set/reset +#define P_NO_MKRC 0x200 // don't include in :mkvimrc output +#define P_VI_DEF 0x400 // Use Vi default for Vim +#define P_VIM 0x800 // Vim option, reset when 'cp' set + + // when option changed, what to display: +#define P_RSTAT 0x1000 // redraw status lines +#define P_RWIN 0x2000 // redraw current window and recompute text +#define P_RBUF 0x4000 // redraw current buffer and recompute text +#define P_RALL 0x6000 // redraw all windows +#define P_RCLR 0x7000 // clear and redraw all + +#define P_COMMA 0x8000 // comma separated list +#define P_ONECOMMA 0x18000L // P_COMMA and cannot have two consecutive + // commas +#define P_NODUP 0x20000L // don't allow duplicate strings +#define P_FLAGLIST 0x40000L // list of single-char flags + +#define P_SECURE 0x80000L // cannot change in modeline or secure mode +#define P_GETTEXT 0x100000L // expand default value with _() +#define P_NOGLOB 0x200000L // do not use local value for global vimrc +#define P_NFNAME 0x400000L // only normal file name chars allowed +#define P_INSECURE 0x800000L // option was set from a modeline +#define P_PRI_MKRC 0x1000000L // priority for :mkvimrc (setting option has + // side effects) +#define P_NO_ML 0x2000000L // not allowed in modeline +#define P_CURSWANT 0x4000000L // update curswant required; not needed when + // there is a redraw flag +#define P_NDNAME 0x8000000L // only normal dir name chars allowed +#define P_RWINONLY 0x10000000L // only redraw current window +#define P_MLE 0x20000000L // under control of 'modelineexpr' + +#define ISK_LATIN1 (char_u *)"@,48-57,_,192-255" + +// 'isprint' for latin1 is also used for MS-Windows cp1252, where 0x80 is used +// for the currency sign. +#if defined(MSWIN) +# define ISP_LATIN1 (char_u *)"@,~-255" +#else +# define ISP_LATIN1 (char_u *)"@,161-255" +#endif + +# define HIGHLIGHT_INIT "8:SpecialKey,~:EndOfBuffer,@:NonText,d:Directory,e:ErrorMsg,i:IncSearch,l:Search,m:MoreMsg,M:ModeMsg,n:LineNr,N:CursorLineNr,r:Question,s:StatusLine,S:StatusLineNC,c:VertSplit,t:Title,v:Visual,V:VisualNOS,w:WarningMsg,W:WildMenu,f:Folded,F:FoldColumn,A:DiffAdd,C:DiffChange,D:DiffDelete,T:DiffText,>:SignColumn,-:Conceal,B:SpellBad,P:SpellCap,R:SpellRare,L:SpellLocal,+:Pmenu,=:PmenuSel,x:PmenuSbar,X:PmenuThumb,*:TabLine,#:TabLineSel,_:TabLineFill,!:CursorColumn,.:CursorLine,o:ColorColumn,q:QuickFixLine,z:StatusLineTerm,Z:StatusLineTermNC" + +// Default python version for pyx* commands +#if defined(FEAT_PYTHON) && defined(FEAT_PYTHON3) +# define DEFAULT_PYTHON_VER 0 +#elif defined(FEAT_PYTHON3) +# define DEFAULT_PYTHON_VER 3 +#elif defined(FEAT_PYTHON) +# define DEFAULT_PYTHON_VER 2 +#else +# define DEFAULT_PYTHON_VER 0 +#endif + +// used for 'cinkeys' and 'indentkeys' +#define INDENTKEYS_DEFAULT (char_u *)"0{,0},0),0],:,0#,!^F,o,O,e" + +// options[] is initialized here. +// The order of the options MUST be alphabetic for ":set all" and findoption(). +// All option names MUST start with a lowercase letter (for findoption()). +// Exception: "t_" options are at the end. +// The options with a NULL variable are 'hidden': a set command for them is +// ignored and they are not printed. +static struct vimoption options[] = +{ + {"aleph", "al", P_NUM|P_VI_DEF|P_CURSWANT, +#ifdef FEAT_RIGHTLEFT + (char_u *)&p_aleph, PV_NONE, +#else + (char_u *)NULL, PV_NONE, +#endif + { +#if defined(MSWIN) && !defined(FEAT_GUI_MSWIN) + (char_u *)128L, +#else + (char_u *)224L, +#endif + (char_u *)0L} SCTX_INIT}, + {"antialias", "anti", P_BOOL|P_VI_DEF|P_VIM|P_RCLR, +#if defined(FEAT_GUI_MAC) + (char_u *)&p_antialias, PV_NONE, + {(char_u *)FALSE, (char_u *)FALSE} +#else + (char_u *)NULL, PV_NONE, + {(char_u *)FALSE, (char_u *)FALSE} +#endif + SCTX_INIT}, + {"arabic", "arab", P_BOOL|P_VI_DEF|P_VIM|P_CURSWANT, +#ifdef FEAT_ARABIC + (char_u *)VAR_WIN, PV_ARAB, +#else + (char_u *)NULL, PV_NONE, +#endif + {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, + {"arabicshape", "arshape", P_BOOL|P_VI_DEF|P_VIM|P_RCLR, +#ifdef FEAT_ARABIC + (char_u *)&p_arshape, PV_NONE, +#else + (char_u *)NULL, PV_NONE, +#endif + {(char_u *)TRUE, (char_u *)0L} SCTX_INIT}, + {"allowrevins", "ari", P_BOOL|P_VI_DEF|P_VIM, +#ifdef FEAT_RIGHTLEFT + (char_u *)&p_ari, PV_NONE, +#else + (char_u *)NULL, PV_NONE, +#endif + {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, + {"altkeymap", "akm", P_BOOL|P_VI_DEF, + (char_u *)NULL, PV_NONE, + {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, + {"ambiwidth", "ambw", P_STRING|P_VI_DEF|P_RCLR, + (char_u *)&p_ambw, PV_NONE, + {(char_u *)"single", (char_u *)0L} + SCTX_INIT}, + {"autochdir", "acd", P_BOOL|P_VI_DEF, +#ifdef FEAT_AUTOCHDIR + (char_u *)&p_acd, PV_NONE, + {(char_u *)FALSE, (char_u *)0L} +#else + (char_u *)NULL, PV_NONE, + {(char_u *)0L, (char_u *)0L} +#endif + SCTX_INIT}, + {"autoindent", "ai", P_BOOL|P_VI_DEF, + (char_u *)&p_ai, PV_AI, + {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, + {"autoprint", "ap", P_BOOL|P_VI_DEF, + (char_u *)NULL, PV_NONE, + {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, + {"autoread", "ar", P_BOOL|P_VI_DEF, + (char_u *)&p_ar, PV_AR, + {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, + {"autowrite", "aw", P_BOOL|P_VI_DEF, + (char_u *)&p_aw, PV_NONE, + {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, + {"autowriteall","awa", P_BOOL|P_VI_DEF, + (char_u *)&p_awa, PV_NONE, + {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, + {"background", "bg", P_STRING|P_VI_DEF|P_RCLR, + (char_u *)&p_bg, PV_NONE, + { +#if (defined(MSWIN)) && !defined(FEAT_GUI) + (char_u *)"dark", +#else + (char_u *)"light", +#endif + (char_u *)0L} SCTX_INIT}, + {"backspace", "bs", P_STRING|P_VI_DEF|P_VIM|P_ONECOMMA|P_NODUP, + (char_u *)&p_bs, PV_NONE, + {(char_u *)"", (char_u *)0L} SCTX_INIT}, + {"backup", "bk", P_BOOL|P_VI_DEF|P_VIM, + (char_u *)&p_bk, PV_NONE, + {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, + {"backupcopy", "bkc", P_STRING|P_VIM|P_ONECOMMA|P_NODUP, + (char_u *)&p_bkc, PV_BKC, +#ifdef UNIX + {(char_u *)"yes", (char_u *)"auto"} +#else + {(char_u *)"auto", (char_u *)"auto"} +#endif + SCTX_INIT}, + {"backupdir", "bdir", P_STRING|P_EXPAND|P_VI_DEF|P_ONECOMMA + |P_NODUP|P_SECURE, + (char_u *)&p_bdir, PV_NONE, + {(char_u *)DFLT_BDIR, (char_u *)0L} SCTX_INIT}, + {"backupext", "bex", P_STRING|P_VI_DEF|P_NFNAME, + (char_u *)&p_bex, PV_NONE, + { +#ifdef VMS + (char_u *)"_", +#else + (char_u *)"~", +#endif + (char_u *)0L} SCTX_INIT}, + {"backupskip", "bsk", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP, +#ifdef FEAT_WILDIGN + (char_u *)&p_bsk, PV_NONE, + {(char_u *)"", (char_u *)0L} +#else + (char_u *)NULL, PV_NONE, + {(char_u *)0L, (char_u *)0L} +#endif + SCTX_INIT}, + {"balloondelay","bdlay",P_NUM|P_VI_DEF, +#ifdef FEAT_BEVAL + (char_u *)&p_bdlay, PV_NONE, + {(char_u *)600L, (char_u *)0L} +#else + (char_u *)NULL, PV_NONE, + {(char_u *)0L, (char_u *)0L} +#endif + SCTX_INIT}, + {"ballooneval", "beval",P_BOOL|P_VI_DEF|P_NO_MKRC, +#ifdef FEAT_BEVAL_GUI + (char_u *)&p_beval, PV_NONE, + {(char_u *)FALSE, (char_u *)0L} +#else + (char_u *)NULL, PV_NONE, + {(char_u *)0L, (char_u *)0L} +#endif + SCTX_INIT}, + {"balloonevalterm", "bevalterm",P_BOOL|P_VI_DEF|P_NO_MKRC, +#ifdef FEAT_BEVAL_TERM + (char_u *)&p_bevalterm, PV_NONE, + {(char_u *)FALSE, (char_u *)0L} +#else + (char_u *)NULL, PV_NONE, + {(char_u *)0L, (char_u *)0L} +#endif + SCTX_INIT}, + {"balloonexpr", "bexpr", P_STRING|P_ALLOCED|P_VI_DEF|P_VIM|P_MLE, +#if defined(FEAT_BEVAL) && defined(FEAT_EVAL) + (char_u *)&p_bexpr, PV_BEXPR, + {(char_u *)"", (char_u *)0L} +#else + (char_u *)NULL, PV_NONE, + {(char_u *)0L, (char_u *)0L} +#endif + SCTX_INIT}, + {"beautify", "bf", P_BOOL|P_VI_DEF, + (char_u *)NULL, PV_NONE, + {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, + {"belloff", "bo", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, + (char_u *)&p_bo, PV_NONE, + {(char_u *)"", (char_u *)0L} SCTX_INIT}, + {"binary", "bin", P_BOOL|P_VI_DEF|P_RSTAT, + (char_u *)&p_bin, PV_BIN, + {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, + {"bioskey", "biosk",P_BOOL|P_VI_DEF, + (char_u *)NULL, PV_NONE, + {(char_u *)TRUE, (char_u *)0L} SCTX_INIT}, + {"bomb", NULL, P_BOOL|P_NO_MKRC|P_VI_DEF|P_RSTAT, + (char_u *)&p_bomb, PV_BOMB, + {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, + {"breakat", "brk", P_STRING|P_VI_DEF|P_RALL|P_FLAGLIST, +#ifdef FEAT_LINEBREAK + (char_u *)&p_breakat, PV_NONE, + {(char_u *)" \t!@*-+;:,./?", (char_u *)0L} +#else + (char_u *)NULL, PV_NONE, + {(char_u *)0L, (char_u *)0L} +#endif + SCTX_INIT}, + {"breakindent", "bri", P_BOOL|P_VI_DEF|P_VIM|P_RWIN, +#ifdef FEAT_LINEBREAK + (char_u *)VAR_WIN, PV_BRI, + {(char_u *)FALSE, (char_u *)0L} +#else + (char_u *)NULL, PV_NONE, + {(char_u *)0L, (char_u *)0L} +#endif + SCTX_INIT}, + {"breakindentopt", "briopt", P_STRING|P_ALLOCED|P_VI_DEF|P_RBUF + |P_ONECOMMA|P_NODUP, +#ifdef FEAT_LINEBREAK + (char_u *)VAR_WIN, PV_BRIOPT, + {(char_u *)"", (char_u *)NULL} +#else + (char_u *)NULL, PV_NONE, + {(char_u *)"", (char_u *)NULL} +#endif + SCTX_INIT}, + {"browsedir", "bsdir",P_STRING|P_VI_DEF, +#ifdef FEAT_BROWSE + (char_u *)&p_bsdir, PV_NONE, + {(char_u *)"last", (char_u *)0L} +#else + (char_u *)NULL, PV_NONE, + {(char_u *)0L, (char_u *)0L} +#endif + SCTX_INIT}, + {"bufhidden", "bh", P_STRING|P_ALLOCED|P_VI_DEF|P_NOGLOB, + (char_u *)&p_bh, PV_BH, + {(char_u *)"", (char_u *)0L} + SCTX_INIT}, + {"buflisted", "bl", P_BOOL|P_VI_DEF|P_NOGLOB, + (char_u *)&p_bl, PV_BL, + {(char_u *)1L, (char_u *)0L} + SCTX_INIT}, + {"buftype", "bt", P_STRING|P_ALLOCED|P_VI_DEF|P_NOGLOB, + (char_u *)&p_bt, PV_BT, + {(char_u *)"", (char_u *)0L} + SCTX_INIT}, + {"casemap", "cmp", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP, + (char_u *)&p_cmp, PV_NONE, + {(char_u *)"internal,keepascii", (char_u *)0L} + SCTX_INIT}, + {"cdpath", "cd", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE|P_COMMA|P_NODUP, +#ifdef FEAT_SEARCHPATH + (char_u *)&p_cdpath, PV_NONE, + {(char_u *)",,", (char_u *)0L} +#else + (char_u *)NULL, PV_NONE, + {(char_u *)0L, (char_u *)0L} +#endif + SCTX_INIT}, + {"cedit", NULL, P_STRING, +#ifdef FEAT_CMDWIN + (char_u *)&p_cedit, PV_NONE, + {(char_u *)"", (char_u *)CTRL_F_STR} +#else + (char_u *)NULL, PV_NONE, + {(char_u *)0L, (char_u *)0L} +#endif + SCTX_INIT}, + {"charconvert", "ccv", P_STRING|P_VI_DEF|P_SECURE, +#if defined(FEAT_EVAL) + (char_u *)&p_ccv, PV_NONE, + {(char_u *)"", (char_u *)0L} +#else + (char_u *)NULL, PV_NONE, + {(char_u *)0L, (char_u *)0L} +#endif + SCTX_INIT}, + {"cindent", "cin", P_BOOL|P_VI_DEF|P_VIM, +#ifdef FEAT_CINDENT + (char_u *)&p_cin, PV_CIN, +#else + (char_u *)NULL, PV_NONE, +#endif + {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, + {"cinkeys", "cink", P_STRING|P_ALLOCED|P_VI_DEF|P_ONECOMMA|P_NODUP, +#ifdef FEAT_CINDENT + (char_u *)&p_cink, PV_CINK, + {INDENTKEYS_DEFAULT, (char_u *)0L} +#else + (char_u *)NULL, PV_NONE, + {(char_u *)0L, (char_u *)0L} +#endif + SCTX_INIT}, + {"cinoptions", "cino", P_STRING|P_ALLOCED|P_VI_DEF|P_ONECOMMA|P_NODUP, +#ifdef FEAT_CINDENT + (char_u *)&p_cino, PV_CINO, +#else + (char_u *)NULL, PV_NONE, +#endif + {(char_u *)"", (char_u *)0L} SCTX_INIT}, + {"cinwords", "cinw", P_STRING|P_ALLOCED|P_VI_DEF|P_ONECOMMA|P_NODUP, +#if defined(FEAT_SMARTINDENT) || defined(FEAT_CINDENT) + (char_u *)&p_cinw, PV_CINW, + {(char_u *)"if,else,while,do,for,switch", + (char_u *)0L} +#else + (char_u *)NULL, PV_NONE, + {(char_u *)0L, (char_u *)0L} +#endif + SCTX_INIT}, + {"clipboard", "cb", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP, +#ifdef FEAT_CLIPBOARD + (char_u *)&p_cb, PV_NONE, +# ifdef FEAT_XCLIPBOARD + {(char_u *)"autoselect,exclude:cons\\|linux", + (char_u *)0L} +# else + {(char_u *)"", (char_u *)0L} +# endif +#else + (char_u *)NULL, PV_NONE, + {(char_u *)"", (char_u *)0L} +#endif + SCTX_INIT}, + {"cmdheight", "ch", P_NUM|P_VI_DEF|P_RALL, + (char_u *)&p_ch, PV_NONE, + {(char_u *)1L, (char_u *)0L} SCTX_INIT}, + {"cmdwinheight", "cwh", P_NUM|P_VI_DEF, +#ifdef FEAT_CMDWIN + (char_u *)&p_cwh, PV_NONE, +#else + (char_u *)NULL, PV_NONE, +#endif + {(char_u *)7L, (char_u *)0L} SCTX_INIT}, + {"colorcolumn", "cc", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP|P_RWIN, +#ifdef FEAT_SYN_HL + (char_u *)VAR_WIN, PV_CC, +#else + (char_u *)NULL, PV_NONE, +#endif + {(char_u *)"", (char_u *)0L} SCTX_INIT}, + {"columns", "co", P_NUM|P_NODEFAULT|P_NO_MKRC|P_VI_DEF|P_RCLR, + (char_u *)&Columns, PV_NONE, + {(char_u *)80L, (char_u *)0L} SCTX_INIT}, + {"comments", "com", P_STRING|P_ALLOCED|P_VI_DEF|P_ONECOMMA + |P_NODUP|P_CURSWANT, +#ifdef FEAT_COMMENTS + (char_u *)&p_com, PV_COM, + {(char_u *)"s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-", + (char_u *)0L} +#else + (char_u *)NULL, PV_NONE, + {(char_u *)0L, (char_u *)0L} +#endif + SCTX_INIT}, + {"commentstring", "cms", P_STRING|P_ALLOCED|P_VI_DEF|P_CURSWANT, +#ifdef FEAT_FOLDING + (char_u *)&p_cms, PV_CMS, + {(char_u *)"/*%s*/", (char_u *)0L} +#else + (char_u *)NULL, PV_NONE, + {(char_u *)0L, (char_u *)0L} +#endif + SCTX_INIT}, + // P_PRI_MKRC isn't needed here, optval_default() + // always returns TRUE for 'compatible' + {"compatible", "cp", P_BOOL|P_RALL, + (char_u *)&p_cp, PV_NONE, + {(char_u *)TRUE, (char_u *)FALSE} SCTX_INIT}, + {"complete", "cpt", P_STRING|P_ALLOCED|P_VI_DEF|P_ONECOMMA|P_NODUP, + (char_u *)&p_cpt, PV_CPT, + {(char_u *)".,w,b,u,t,i", (char_u *)0L} + SCTX_INIT}, + {"concealcursor","cocu", P_STRING|P_ALLOCED|P_RWIN|P_VI_DEF, +#ifdef FEAT_CONCEAL + (char_u *)VAR_WIN, PV_COCU, + {(char_u *)"", (char_u *)NULL} +#else + (char_u *)NULL, PV_NONE, + {(char_u *)NULL, (char_u *)0L} +#endif + SCTX_INIT}, + {"conceallevel","cole", P_NUM|P_RWIN|P_VI_DEF, +#ifdef FEAT_CONCEAL + (char_u *)VAR_WIN, PV_COLE, +#else + (char_u *)NULL, PV_NONE, +#endif + {(char_u *)0L, (char_u *)0L} + SCTX_INIT}, + {"completefunc", "cfu", P_STRING|P_ALLOCED|P_VI_DEF|P_SECURE, +#ifdef FEAT_COMPL_FUNC + (char_u *)&p_cfu, PV_CFU, + {(char_u *)"", (char_u *)0L} +#else + (char_u *)NULL, PV_NONE, + {(char_u *)0L, (char_u *)0L} +#endif + SCTX_INIT}, + {"completeopt", "cot", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP, + (char_u *)&p_cot, PV_NONE, + {(char_u *)"menu,preview", (char_u *)0L} + SCTX_INIT}, + {"completepopup", "cpp", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, +#if defined(FEAT_TEXT_PROP) && defined(FEAT_QUICKFIX) + (char_u *)&p_cpp, PV_NONE, + {(char_u *)"", (char_u *)0L} +#else + (char_u *)NULL, PV_NONE, + {(char_u *)NULL, (char_u *)0L} +#endif + SCTX_INIT}, + {"completeslash", "csl", P_STRING|P_VI_DEF|P_VIM, +#if defined(BACKSLASH_IN_FILENAME) + (char_u *)&p_csl, PV_CSL, + {(char_u *)"", (char_u *)0L} +#else + (char_u *)NULL, PV_NONE, + {(char_u *)0L, (char_u *)0L} +#endif + SCTX_INIT}, + {"confirm", "cf", P_BOOL|P_VI_DEF, +#if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG) + (char_u *)&p_confirm, PV_NONE, +#else + (char_u *)NULL, PV_NONE, +#endif + {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, + {"conskey", "consk",P_BOOL|P_VI_DEF, + (char_u *)NULL, PV_NONE, + {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, + {"copyindent", "ci", P_BOOL|P_VI_DEF|P_VIM, + (char_u *)&p_ci, PV_CI, + {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, + {"cpoptions", "cpo", P_STRING|P_VIM|P_RALL|P_FLAGLIST, + (char_u *)&p_cpo, PV_NONE, + {(char_u *)CPO_VI, (char_u *)CPO_VIM} + SCTX_INIT}, + {"cryptmethod", "cm", P_STRING|P_ALLOCED|P_VI_DEF, +#ifdef FEAT_CRYPT + (char_u *)&p_cm, PV_CM, + {(char_u *)"blowfish2", (char_u *)0L} +#else + (char_u *)NULL, PV_NONE, + {(char_u *)0L, (char_u *)0L} +#endif + SCTX_INIT}, + {"cscopepathcomp", "cspc", P_NUM|P_VI_DEF|P_VIM, +#ifdef FEAT_CSCOPE + (char_u *)&p_cspc, PV_NONE, +#else + (char_u *)NULL, PV_NONE, +#endif + {(char_u *)0L, (char_u *)0L} SCTX_INIT}, + {"cscopeprg", "csprg", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE, +#ifdef FEAT_CSCOPE + (char_u *)&p_csprg, PV_NONE, + {(char_u *)"cscope", (char_u *)0L} +#else + (char_u *)NULL, PV_NONE, + {(char_u *)0L, (char_u *)0L} +#endif + SCTX_INIT}, + {"cscopequickfix", "csqf", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP, +#if defined(FEAT_CSCOPE) && defined(FEAT_QUICKFIX) + (char_u *)&p_csqf, PV_NONE, + {(char_u *)"", (char_u *)0L} +#else + (char_u *)NULL, PV_NONE, + {(char_u *)0L, (char_u *)0L} +#endif + SCTX_INIT}, + {"cscoperelative", "csre", P_BOOL|P_VI_DEF|P_VIM, +#ifdef FEAT_CSCOPE + (char_u *)&p_csre, PV_NONE, +#else + (char_u *)NULL, PV_NONE, +#endif + {(char_u *)0L, (char_u *)0L} SCTX_INIT}, + {"cscopetag", "cst", P_BOOL|P_VI_DEF|P_VIM, +#ifdef FEAT_CSCOPE + (char_u *)&p_cst, PV_NONE, +#else + (char_u *)NULL, PV_NONE, +#endif + {(char_u *)0L, (char_u *)0L} SCTX_INIT}, + {"cscopetagorder", "csto", P_NUM|P_VI_DEF|P_VIM, +#ifdef FEAT_CSCOPE + (char_u *)&p_csto, PV_NONE, +#else + (char_u *)NULL, PV_NONE, +#endif + {(char_u *)0L, (char_u *)0L} SCTX_INIT}, + {"cscopeverbose", "csverb", P_BOOL|P_VI_DEF|P_VIM, +#ifdef FEAT_CSCOPE + (char_u *)&p_csverbose, PV_NONE, +#else + (char_u *)NULL, PV_NONE, +#endif + {(char_u *)0L, (char_u *)0L} SCTX_INIT}, + {"cursorbind", "crb", P_BOOL|P_VI_DEF, + (char_u *)VAR_WIN, PV_CRBIND, + {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, + {"cursorcolumn", "cuc", P_BOOL|P_VI_DEF|P_RWINONLY, +#ifdef FEAT_SYN_HL + (char_u *)VAR_WIN, PV_CUC, +#else + (char_u *)NULL, PV_NONE, +#endif + {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, + {"cursorline", "cul", P_BOOL|P_VI_DEF|P_RWINONLY, +#ifdef FEAT_SYN_HL + (char_u *)VAR_WIN, PV_CUL, +#else + (char_u *)NULL, PV_NONE, +#endif + {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, + {"cursorlineopt", "culopt", P_STRING|P_VI_DEF|P_RWIN, +#ifdef FEAT_SYN_HL + (char_u *)VAR_WIN, PV_CULOPT, +#else + (char_u *)NULL, PV_NONE, +#endif + {(char_u *)"both", (char_u *)0L} SCTX_INIT}, + {"debug", NULL, P_STRING|P_VI_DEF, + (char_u *)&p_debug, PV_NONE, + {(char_u *)"", (char_u *)0L} SCTX_INIT}, + {"define", "def", P_STRING|P_ALLOCED|P_VI_DEF|P_CURSWANT, +#ifdef FEAT_FIND_ID + (char_u *)&p_def, PV_DEF, + {(char_u *)"^\\s*#\\s*define", (char_u *)0L} +#else + (char_u *)NULL, PV_NONE, + {(char_u *)NULL, (char_u *)0L} +#endif + SCTX_INIT}, + {"delcombine", "deco", P_BOOL|P_VI_DEF|P_VIM, + (char_u *)&p_deco, PV_NONE, + {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, + {"dictionary", "dict", P_STRING|P_EXPAND|P_VI_DEF|P_ONECOMMA|P_NODUP|P_NDNAME, + (char_u *)&p_dict, PV_DICT, + {(char_u *)"", (char_u *)0L} SCTX_INIT}, + {"diff", NULL, P_BOOL|P_VI_DEF|P_RWIN|P_NOGLOB, +#ifdef FEAT_DIFF + (char_u *)VAR_WIN, PV_DIFF, +#else + (char_u *)NULL, PV_NONE, +#endif + {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, + {"diffexpr", "dex", P_STRING|P_VI_DEF|P_SECURE|P_CURSWANT, +#if defined(FEAT_DIFF) && defined(FEAT_EVAL) + (char_u *)&p_dex, PV_NONE, + {(char_u *)"", (char_u *)0L} +#else + (char_u *)NULL, PV_NONE, + {(char_u *)0L, (char_u *)0L} +#endif + SCTX_INIT}, + {"diffopt", "dip", P_STRING|P_ALLOCED|P_VI_DEF|P_RWIN|P_ONECOMMA + |P_NODUP, +#ifdef FEAT_DIFF + (char_u *)&p_dip, PV_NONE, + {(char_u *)"internal,filler", (char_u *)NULL} +#else + (char_u *)NULL, PV_NONE, + {(char_u *)"", (char_u *)NULL} +#endif + SCTX_INIT}, + {"digraph", "dg", P_BOOL|P_VI_DEF|P_VIM, +#ifdef FEAT_DIGRAPHS + (char_u *)&p_dg, PV_NONE, +#else + (char_u *)NULL, PV_NONE, +#endif + {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, + {"directory", "dir", P_STRING|P_EXPAND|P_VI_DEF|P_ONECOMMA + |P_NODUP|P_SECURE, + (char_u *)&p_dir, PV_NONE, + {(char_u *)DFLT_DIR, (char_u *)0L} SCTX_INIT}, + {"display", "dy", P_STRING|P_VI_DEF|P_ONECOMMA|P_RALL|P_NODUP, + (char_u *)&p_dy, PV_NONE, + {(char_u *)"", (char_u *)0L} SCTX_INIT}, + {"eadirection", "ead", P_STRING|P_VI_DEF, + (char_u *)&p_ead, PV_NONE, + {(char_u *)"both", (char_u *)0L} + SCTX_INIT}, + {"edcompatible","ed", P_BOOL|P_VI_DEF, + (char_u *)&p_ed, PV_NONE, + {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, + {"emoji", "emo", P_BOOL|P_VI_DEF|P_RCLR, + (char_u *)&p_emoji, PV_NONE, + {(char_u *)TRUE, (char_u *)0L} + SCTX_INIT}, + {"encoding", "enc", P_STRING|P_VI_DEF|P_RCLR|P_NO_ML, + (char_u *)&p_enc, PV_NONE, + {(char_u *)ENC_DFLT, (char_u *)0L} + SCTX_INIT}, + {"endofline", "eol", P_BOOL|P_NO_MKRC|P_VI_DEF|P_RSTAT, + (char_u *)&p_eol, PV_EOL, + {(char_u *)TRUE, (char_u *)0L} SCTX_INIT}, + {"equalalways", "ea", P_BOOL|P_VI_DEF|P_RALL, + (char_u *)&p_ea, PV_NONE, + {(char_u *)TRUE, (char_u *)0L} SCTX_INIT}, + {"equalprg", "ep", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE, + (char_u *)&p_ep, PV_EP, + {(char_u *)"", (char_u *)0L} SCTX_INIT}, + {"errorbells", "eb", P_BOOL|P_VI_DEF, + (char_u *)&p_eb, PV_NONE, + {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, + {"errorfile", "ef", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE, +#ifdef FEAT_QUICKFIX + (char_u *)&p_ef, PV_NONE, + {(char_u *)DFLT_ERRORFILE, (char_u *)0L} +#else + (char_u *)NULL, PV_NONE, + {(char_u *)NULL, (char_u *)0L} +#endif + SCTX_INIT}, + {"errorformat", "efm", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP, +#ifdef FEAT_QUICKFIX + (char_u *)&p_efm, PV_EFM, + {(char_u *)DFLT_EFM, (char_u *)0L} +#else + (char_u *)NULL, PV_NONE, + {(char_u *)NULL, (char_u *)0L} +#endif + SCTX_INIT}, + {"esckeys", "ek", P_BOOL|P_VIM, + (char_u *)&p_ek, PV_NONE, |