option.h
资源名称:vim53src.zip [点击查看]
上传用户:gddssl
上传日期:2007-01-06
资源大小:1003k
文件大小:16k
源码类别:
编辑器/阅读器
开发平台:
DOS
- /* vi:set ts=8 sts=4 sw=4:
- *
- * 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.
- */
- /*
- * option.h: definition of global variables for settable options
- *
- * EXTERN is only defined in main.c (and vim.h)
- */
- #ifndef EXTERN
- # define EXTERN extern
- # define INIT(x)
- #else
- # ifndef INIT
- # define INIT(x) x
- # endif
- #endif
- /* default values for p_efm 'errorformat' */
- #ifdef AMIGA
- /* don't use [^0-9] here, Manx C can't handle it */
- # define EFM_DFLT "%f>%l:%c:%t:%n:%m,%f:%l: %t%*[^0123456789]%n: %m,%f %l %t%*[^0123456789]%n: %m,%*[^"]"%f"%*[^0123456789]%l: %m,%f:%l:%m"
- #else
- # if defined MSDOS || defined WIN32
- # define EFM_DFLT "%f(%l) : %t%*[^0-9]%n: %m,%*[^"]"%f"%*[^0-9]%l: %m,%f(%l) : %m,%*[^ ] %f %l: %m,%f:%l:%m"
- # else
- # if defined(__EMX__) /* put most common here (i.e. gcc format) at front */
- # define EFM_DFLT "%f:%l:%m,%*[^"]"%f"%*[^0-9]%l: %m,"%f"%*[^0-9]%l: %m,%f(%l:%c) : %m"
- # else
- # if defined(__QNX__)
- # define EFM_DFLT "%f(%l):%*[^WE]%t%*[^0123456789]%n:%m"
- # else /* Unix, probably */
- # define EFM_DFLT "%*[^"]"%f"%*[^0-9]%l: %m,"%f"%*[^0-9]%l: %m,%f:%l:%m,"%f"\, line %l%*[^0-9]%c%*[^ ] %m"
- # endif
- # endif
- # endif
- #endif
- #define GEFM_DFLT "%f:%l%m,%f %l%m"
- /* default values for b_p_ff 'fileformat' and p_ffs 'fileformats' */
- #define FF_DOS "dos"
- #define FF_MAC "mac"
- #define FF_UNIX "unix"
- #ifdef USE_CRNL
- # define FF_DFLT "dos"
- # define FFS_DFLT "dos,unix"
- # define FFS_VI "dos,unix" /* also autodetect in compatible mode */
- # define TA_DFLT TRUE
- #else
- # ifdef USE_CR
- # define FF_DFLT "mac"
- # define FFS_DFLT "mac,unix,dos"
- # else
- # define FF_DFLT "unix"
- # define FFS_DFLT "unix,dos"
- # endif
- # define FFS_VI ""
- # define TA_DFLT FALSE
- #endif
- #ifdef MULTI_BYTE
- #define FE_ANSI "ansi"
- #define FE_UNICODE "unicode"
- #define FE_DBJPN "japan"
- #define FE_DBKOR "korea"
- #define FE_DBCHT "taiwan"
- #define FE_DBCHS "prc"
- #define FE_HEBREW "hebrew"
- #define FE_FARSI "farsi"
- /* default value for 'fileencoding' */
- #define FE_DFLT FE_ANSI
- #endif
- /* end-of-line style */
- #define EOL_UNKNOWN -1 /* not defined yet */
- #define EOL_UNIX 0 /* NL */
- #define EOL_DOS 1 /* CR NL */
- #define EOL_MAC 2 /* CR */
- /* Formatting options for p_fo 'formatoptions' */
- #define FO_WRAP 't'
- #define FO_WRAP_COMS 'c'
- #define FO_RET_COMS 'r'
- #define FO_OPEN_COMS 'o'
- #define FO_Q_COMS 'q'
- #define FO_Q_SECOND '2'
- #define FO_INS_VI 'v'
- #define FO_INS_LONG 'l'
- #define FO_INS_BLANK 'b'
- #define FO_DFLT_VI "vt"
- #define FO_DFLT "tcq"
- #define FO_ALL "tcroq2vlb," /* for do_set() */
- /* characters for the p_cpo option: */
- #define CPO_ALTREAD 'a' /* ":read" sets alternate file name */
- #define CPO_ALTWRITE 'A' /* ":write" sets alternate file name */
- #define CPO_BAR 'b' /* "|" ends a mapping */
- #define CPO_BSLASH 'B' /* backslash in mapping is not special */
- #define CPO_SEARCH 'c'
- #define CPO_DOTTAG 'd' /* "./tags" in 'tags' is in current dir */
- #define CPO_EXECBUF 'e'
- #define CPO_EMPTYREGION 'E' /* operating on empty region is an error */
- #define CPO_FNAMER 'f' /* set file name for ":r file" */
- #define CPO_FNAMEW 'F' /* set file name for ":w file" */
- #define CPO_JOINSP 'j' /* only use two spaces for join after '.' */
- #define CPO_KEYCODE 'k' /* don't recognize raw key code in mappings */
- #define CPO_LITERAL 'l' /* take char after backslash in [] literal */
- #define CPO_LISTWM 'L' /* 'list' changes wrapmargin */
- #define CPO_SHOWMATCH 'm'
- #define CPO_LINEOFF 'o'
- #define CPO_REDO 'r'
- #define CPO_BUFOPT 's'
- #define CPO_BUFOPTGLOB 'S'
- #define CPO_TAGPAT 't'
- #define CPO_UNDO 'u' /* "u" undoes itself */
- #define CPO_CW 'w' /* "cw" only changes one blank */
- #define CPO_FWRITE 'W' /* "w!" doesn't overwrite readonly files */
- #define CPO_ESC 'x'
- #define CPO_YANK 'y'
- #define CPO_DOLLAR '$'
- #define CPO_FILTER '!'
- #define CPO_MATCH '%'
- #define CPO_STAR '*' /* ":*" means ":@" */
- #define CPO_SPECI '<' /* don't recognize <> in mappings */
- #define CPO_DEFAULT "aABceFs"
- #define CPO_ALL "aAbBcdeEfFjklLmorsStuwWxy$!%*<"
- /* characters for p_ww option: */
- #define WW_ALL "bshl<>[],"
- /* characters for p_mouse option: */
- #define MOUSE_NORMAL 'n' /* use mouse in Normal mode */
- #define MOUSE_VISUAL 'v' /* use mouse in Visual/Select mode */
- #define MOUSE_INSERT 'i' /* use mouse in Insert mode */
- #define MOUSE_COMMAND 'c' /* use mouse in Command-line mode */
- #define MOUSE_HELP 'h' /* use mouse in help buffers */
- #define MOUSE_RETURN 'r' /* use mouse for hit-return message */
- #define MOUSE_A "nvich" /* used for 'a' flag */
- #define MOUSE_ALL "anvichr" /* all possible characters */
- /* characters for p_shm option: */
- #define SHM_RO 'r' /* readonly */
- #define SHM_MOD 'm' /* modified */
- #define SHM_FILE 'f' /* (file 1 of 2) */
- #define SHM_LAST 'i' /* last line incomplete */
- #define SHM_TEXT 'x' /* tx instead of textmode */
- #define SHM_LINES 'l' /* "L" instead of "lines" */
- #define SHM_NEW 'n' /* "[New]" instead of "[New file]" */
- #define SHM_WRI 'w' /* "[w]" instead of "written" */
- #define SHM_A "rmfixlnw" /* represented by 'a' flag */
- #define SHM_WRITE 'W' /* don't use "written" at all */
- #define SHM_TRUNC 't' /* trunctate message */
- #define SHM_OVER 'o' /* overwrite file messages */
- #define SHM_OVERALL 'O' /* overwrite more messages */
- #define SHM_SEARCH 's' /* no search hit bottom messages */
- #define SHM_ATTENTION 'A' /* no ATTENTION messages */
- #define SHM_INTRO 'I' /* intro messages */
- #define SHM_ALL "rmfixlnwaWtoOsAI" /* all possible flags for 'shm' */
- /* characters for p_guioptions: */
- #define GO_ASEL 'a' /* autoselect */
- #define GO_BOT 'b' /* use bottom scrollbar */
- #define GO_FORG 'f' /* start GUI in foreground */
- #define GO_GREY 'g' /* use grey menu items */
- #define GO_ICON 'i' /* use Vim icon */
- #define GO_LEFT 'l' /* use left scrollbar */
- #define GO_MENUS 'm' /* use menu bar */
- #define GO_POINTER 'p' /* pointer enter/leave callbacks */
- #define GO_RIGHT 'r' /* use right scrollbar */
- #define GO_TEAROFF 't' /* add tear-off menu items */
- #define GO_TOOLBAR 'T' /* add toolbar */
- #define GO_ALL "abfgilmprtT" /* all possible flags for 'go' */
- /* flags for 'comments' option */
- #define COM_NEST 'n' /* comments strings nest */
- #define COM_BLANK 'b' /* needs blank after string */
- #define COM_START 's' /* start of comment */
- #define COM_MIDDLE 'm' /* middle of comment */
- #define COM_END 'e' /* end of comment */
- #define COM_FIRST 'f' /* first line comment only */
- #define COM_LEFT 'l' /* left adjusted */
- #define COM_RIGHT 'r' /* right adjusted */
- #define COM_ALL "nbsmeflr" /* all flags for 'comments' option */
- #define COM_MAX_LEN 50 /* maximum length of a part */
- /* flags used for parsed 'wildmode' */
- #define WIM_FULL 1
- #define WIM_LONGEST 2
- #define WIM_LIST 4
- /*
- * The following are actual variabables for the options
- */
- #ifdef RIGHTLEFT
- EXTERN long p_aleph; /* Hebrew 'Aleph' encoding */
- #endif
- EXTERN int p_aw; /* auto-write */
- EXTERN long p_bs; /* backspace over newlines in insert mode */
- EXTERN char_u *p_bg; /* window background color: light or dark */
- EXTERN int p_bk; /* make backups when writing out files */
- EXTERN char_u *p_bdir; /* list of directory names for backup files */
- EXTERN char_u *p_bex; /* extension for backup file */
- EXTERN char_u *p_bsdir; /* 'browsedir' */
- #ifdef MSDOS
- EXTERN int p_biosk; /* Use bioskey() instead of kbhit() */
- #endif
- EXTERN char_u *p_breakat; /* characters that can cause a line break */
- EXTERN long p_ch; /* command line height */
- #if defined(GUI_DIALOG) || defined(CON_DIALOG)
- EXTERN int p_confirm; /* 'confirm' */
- #endif
- EXTERN int p_cp; /* vi-compatible */
- EXTERN char_u *p_cpo; /* vi-compatible option flags */
- #ifdef USE_CSCOPE
- EXTERN char_u *p_csprg; /* name of cscope program */
- EXTERN int p_cst; /* always use :cstag instead of :tag command */
- EXTERN long p_csto; /* cscope/tags search order */
- EXTERN int p_csverbose; /* cscope verbose messages flag */
- #endif
- EXTERN char_u *p_def; /* Pattern for recognising definitions */
- EXTERN char_u *p_dict; /* Dictionaries for ^P/^N */
- #ifdef DIGRAPHS
- EXTERN int p_dg; /* enable digraphs */
- #endif
- EXTERN char_u *p_dir; /* list of directories for swap file */
- EXTERN int p_ed; /* :s is ed compatible */
- EXTERN int p_ea; /* make windows equal height */
- EXTERN char_u *p_ep; /* program name for '=' command */
- EXTERN int p_eb; /* ring bell for errors */
- #ifdef QUICKFIX
- EXTERN char_u *p_ef; /* name of errorfile */
- EXTERN char_u *p_efm; /* error format */
- EXTERN char_u *p_gefm; /* error format for grep -n */
- #endif
- #ifdef AUTOCMD
- EXTERN char_u *p_ei; /* events ignored for autocommands */
- #endif
- EXTERN int p_ek; /* function keys with ESC in insert mode */
- EXTERN int p_exrc; /* read .exrc in current dir */
- EXTERN char_u *p_ffs; /* acceptable file formats */
- EXTERN char_u *p_fp; /* name of format program */
- EXTERN int p_gd; /* /g is default for :s */
- #ifdef USE_GUI
- EXTERN char_u *p_guifont; /* GUI font list */
- EXTERN int p_guipty; /* use pseudo pty for external commands */
- #endif
- #ifdef CURSOR_SHAPE
- EXTERN char_u *p_guicursor; /* shape settings for cursor */
- #endif
- #if defined(USE_GUI) || defined(USE_CLIPBOARD)
- EXTERN char_u *p_guioptions; /* Which GUI components? */
- #endif
- EXTERN char_u *p_hf; /* name of help file */
- EXTERN long p_hh; /* help window height */
- EXTERN int p_hid; /* buffers can be hidden */
- EXTERN char_u *p_hl; /* which highlight mode to use */
- EXTERN int p_hls; /* highlight matches with last search pattern */
- EXTERN long p_hi; /* command line history size */
- #ifdef RIGHTLEFT
- EXTERN int p_hkmap; /* Hebrew keyboard map */
- EXTERN int p_hkmapp; /* idem, phonetic */
- # ifdef FKMAP
- EXTERN int p_fkmap; /* Farsi keyboard map */
- EXTERN int p_altkeymap; /* alternative keyboard map Hebrew/Farsi */
- # endif
- #endif
- EXTERN int p_icon; /* put file name in icon if possible */
- EXTERN char_u *p_iconstring; /* icon string */
- EXTERN int p_ic; /* ignore case in searches */
- EXTERN int p_is; /* incremental search */
- EXTERN int p_im; /* start editing in input mode */
- EXTERN char_u *p_inc; /* Pattern for including other files */
- EXTERN char_u *p_isf; /* characters in a file name */
- EXTERN char_u *p_isi; /* characters in an identifier */
- EXTERN char_u *p_isp; /* characters that are printable */
- EXTERN int p_js; /* use two spaces after '.' with Join */
- EXTERN char_u *p_kp; /* keyword program */
- EXTERN char_u *p_km; /* 'keymodel' */
- #ifdef HAVE_LANGMAP
- EXTERN char_u *p_langmap; /* mapping for some language */
- #endif
- EXTERN long p_ls; /* last window has status line */
- EXTERN char_u *p_lcs; /* characters for list mode */
- EXTERN int p_lz; /* lazy redraw, only when key typed */
- EXTERN int p_magic; /* use some characters for reg exp */
- #ifdef QUICKFIX
- EXTERN char_u *p_mef; /* name of make errorfile */
- EXTERN char_u *p_mp; /* program for :make command */
- EXTERN char_u *p_gp; /* program for :grep command */
- #endif
- EXTERN long p_mat; /* time to show the match of a paren */
- EXTERN long p_mfd; /* 'maxfuncdepth' */
- EXTERN long p_mmd; /* 'maxmapdepth' */
- EXTERN long p_mm; /* maximal amount of memory for buffer */
- EXTERN long p_mmt; /* maximal amount of memory for Vim */
- EXTERN long p_mls; /* number of mode lines */
- EXTERN char_u *p_mouse; /* flags for use of mouse */
- #ifdef USE_GUI
- EXTERN int p_mousef; /* 'mousefocus' */
- EXTERN int p_mh; /* hide pointer enable */
- #endif
- EXTERN char_u *p_mousem; /* 'mousemodel' */
- EXTERN long p_mouset; /* mouse double click time */
- EXTERN int p_more; /* wait when screen full when listing */
- EXTERN char_u *p_para; /* paragraphs */
- EXTERN int p_paste; /* paste mode */
- EXTERN char_u *p_pm; /* patchmode file suffix */
- EXTERN char_u *p_path; /* path for "]f" and "^Wf" */
- EXTERN int p_remap; /* remap */
- EXTERN long p_report; /* minimum number of lines for report */
- #ifdef WIN32
- EXTERN int p_rs; /* restore startup screen upon exit */
- #endif
- #ifdef RIGHTLEFT
- EXTERN int p_ari; /* allow CTRL-_ command */
- EXTERN int p_ri; /* reverse direction of insert */
- #endif
- EXTERN int p_ru; /* show column/line number */
- EXTERN long p_sj; /* scroll jump size */
- EXTERN long p_so; /* scroll offset */
- EXTERN char_u *p_sections; /* sections */
- EXTERN int p_secure; /* do .exrc and .vimrc in secure mode */
- EXTERN char_u *p_sel; /* 'selection' */
- EXTERN char_u *p_slm; /* 'selectmode' */
- EXTERN char_u *p_sessopt; /* sessionoptions */
- EXTERN char_u *p_sh; /* name of shell to use */
- EXTERN char_u *p_shcf; /* flag to shell to execute one command */
- EXTERN char_u *p_sp; /* string for output of make */
- EXTERN char_u *p_shq; /* quote character(s) for shell */
- EXTERN char_u *p_sxq; /* quote around redirection for shell */
- EXTERN char_u *p_srr; /* string for output of filter */
- EXTERN long p_st; /* type of shell */
- EXTERN int p_sr; /* shift round off (for < and >) */
- EXTERN char_u *p_shm; /* When to use short message */
- EXTERN char_u *p_sbr; /* string for break of line */
- EXTERN int p_sc; /* show command in status line */
- EXTERN int p_sft; /* showfulltag */
- EXTERN int p_sm; /* showmatch */
- EXTERN int p_smd; /* show mode */
- EXTERN long p_ss; /* sideways scrolling offset */
- EXTERN int p_scs; /* 'smartcase' */
- EXTERN int p_sta; /* smart-tab for expand-tab */
- EXTERN int p_sb; /* split window backwards */
- EXTERN int p_sol; /* Move cursor to start-of-line? */
- EXTERN char_u *p_su; /* suffixes for wildcard expansion */
- EXTERN char_u *p_sws; /* swap file syncing */
- EXTERN int p_tbs; /* tag binary search */
- EXTERN long p_tl; /* used tag length */
- EXTERN int p_tr; /* tag file name is relative */
- EXTERN char_u *p_tags; /* tags search path */
- EXTERN int p_terse; /* terse messages */
- EXTERN int p_ta; /* auto textmode detection */
- EXTERN int p_to; /* tilde is an operator */
- EXTERN int p_timeout; /* mappings entered within one second */
- EXTERN long p_tm; /* timeoutlen (msec) */
- EXTERN int p_title; /* set window title if possible */
- EXTERN long p_titlelen; /* length of window title in % of Columns */
- EXTERN char_u *p_titlestring; /* window title string */
- EXTERN int p_ttimeout; /* key codes entered within one second */
- EXTERN long p_ttm; /* key code timeoutlen (msec) */
- EXTERN int p_tbi; /* 'ttybuiltin' use builtin termcap first */
- EXTERN int p_tf; /* terminal fast I/O */
- EXTERN long p_ttyscroll; /* maximum nr of screen lines for a scroll */
- EXTERN char_u *p_ttym; /* 'ttymouse', type of mouse */
- EXTERN long p_ul; /* number of Undo Levels */
- EXTERN long p_uc; /* update count for swap file */
- EXTERN long p_ut; /* update time for swap file */
- #ifdef VIMINFO
- EXTERN char_u *p_viminfo; /* Parameters for using ~/.viminfo file */
- #endif
- EXTERN int p_vb; /* visual bell only (no beep) */
- EXTERN long p_verbose; /* verbosity, -V command line argument */
- EXTERN int p_warn; /* warn for changes at shell command */
- #if defined(USE_GUI_WIN32) || defined(USE_GUI_MOTIF) || defined(LINT)
- EXTERN char_u *p_wak; /* 'winaltkeys' */
- #endif
- #ifdef WILDIGNORE
- EXTERN char_u *p_wig; /* 'wildignore' */
- #endif
- EXTERN int p_wiv; /* inversion of text is weird */
- EXTERN char_u *p_ww; /* which keys wrap to next/prev line */
- EXTERN long p_wc; /* character for wildcard exapansion */
- EXTERN char_u *p_wim; /* 'wildmode' */
- EXTERN long p_wh; /* desired window height */
- EXTERN long p_wmh; /* minimal window height */
- EXTERN int p_ws; /* wrap scan */
- EXTERN int p_wa; /* write any */
- EXTERN int p_wb; /* write backup files */
- EXTERN long p_wd; /* write delay for screen output (for tests) */