"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" CHOOSE A LOCALE
try let! locale= $LC_ALL || $LANG
"
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" SET SOME SYSTEM DEFAULTS
set! lptype=ps2 lplines=60 lpcolumns=80 lpwrap ruler showmatch showmode
"
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" DEFINE SOME DIGRAPHS
if os == "msdos" || os == "os2" || (os == "win32" && gui != "windows")
then source! (elvispath("elvis.pc8"))
else source! (elvispath("elvis.lat"))
"
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" CHOOSE SOME DEFAULT OPTION VALUES BASED ON THE INVOCATION NAME
switch tolower(basename(program))
case ex set! initialstate=ex
case edit set! initialstate=ex novice
case input set! initialstate=input
case view set! defaultreadonly
case vedit set! novice
if home == ""
then let home=dirdir(program)
"
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" IF SPELL-CHECKING IS SUPPORTED, THEN LOAD THE DEFAULTS
if feature("spell")
then source! (elvispath("elvis.spe"))
"
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" IF ALIASES ARE SUPPORTED, THEN LOAD THE DEFAULT ALIASES
if feature("alias") && security!="restricted"
then source! (elvispath("elvis.ali"))
"
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" SYSTEM TWEAKS GO HERE
"
" The Linux console can't handle colors and underlining.  Neither can MS-DOS
" with any of the ANSI drivers.
if gui=="termcap"
then {
 if term=="linux" || (os=="msdos" && (term>>4)=="ansi")
 then set! nottyunderline
 if term=="linux"
 then set! nottyitalic
 if term=="xterm"
 then {
  map! <Esc>Op 0
  map! <Esc>Oq 1
  map! <Esc>Or 2
  map! <Esc>Os 3
  map! <Esc>Ot 4
  map! <Esc>Ou 5
  map! <Esc>Ov 6
  map! <Esc>Ow 7
  map! <Esc>Ox 8
  map! <Esc>Oy 9
  map! <Esc>On .
  map! <Esc>Ok +
  map! <Esc>Om -
  map! <Esc>Oj *
  map! <Esc>Oo /
  map! <Esc>OM <Enter>
  map! <Esc>OH visual ^
  map  <Esc>OH ^
  map! <Esc>OF visual $
  map  <Esc>OF $
 }
}
"
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" GUI DEFAULT SETUP GOES HERE (may be overridden in .exrc file)
switch gui
case windows so! (elvispath("elvis.win"))
case x11     so! (elvispath("elvis.x11"))
case gnome   so! (elvispath("elvis.gnome"))
"
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" SOME MAPS THAT MAKE HTML BROWSING EASIER
if feature("html") && feature("autocmd")
then {
 augroup! html
 au!
 " <Space> jumps forward one page
 au DispMapEnter html map nosave command <Space> <C-F>
 au DispMapLeave html unmap command <Space>
 " <Enter> follows a hypertext link
 au DispMapEnter html map nosave command <Enter> <C-]>
 au DispMapLeave html unmap command <Enter>
 augroup END
}
"
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" DEFAULT COLORS
source! (elvispath("elvis.clr"))
"
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" EXECUTE THE STANDARD CUSTOMIZATION SCRIPTS
let f=(os=="unix" ? ".elvisrc" : "elvis.rc")
if security != "restricted"
then {
 if $EXINIT
 then eval $EXINIT
 else source! (exists(home/f)?home/f:home/".exrc")
}
if security != "restricted" && exrc && getcwd()!=home
 then safely source! (exists(f)?f:".exrc")
set f=""
"
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" X11 INTERFACE DEFAULT FONTS GO HERE
if gui == "x11"
then {
 if font == "" && xrootwidth >= 1024
 then {
  set! font="*-courier-medium-r-*-18-*" 
  set! boldfont="*-courier-bold-r-*-18-*" 
  set! italicfont="*-courier-medium-o-*-18-*" 
 }
 if font == "" && xrootwidth >= 800
 then {
  set! font="*-courier-medium-r-*-14-*" 
  set! boldfont="*-courier-bold-r-*-14-*" 
  set! italicfont="*-courier-medium-o-*-14-*" 
 }
 if font == ""
 then {
  set! font="*-courier-medium-r-*-12-*" 
  set! boldfont="*-courier-bold-r-*-12-*" 
  set! italicfont="*-courier-medium-o-*-12-*" 
 }
}
"
