" Handling of big files - William Natter, Tony Mechelynck and others
" fairly certain that BufSizeThreshold is in bytes
let g:SaveUndoLevels = &undolevels
let g:BufSizeThreshold = 5242880
if has("autocmd")
	au VimEnter * let g:SaveUndoLevels = &undolevels
	au BufReadPre * if getfsize(expand("%")) >= g:BufSizeThreshold | setlocal noswapfile | endif
	au BufEnter * if getfsize(expand("%")) < g:BufSizeThreshold | let &undolevels=g:SaveUndoLevels | else | setlocal undolevels=-1 | endif
	au BufEnter * if getfsize(expand("%")) < g:BufSizeThreshold | syntax on | else | syntax off | endif
endif

set mouse&
set noautoindent	" always set autoindenting off

" enable better 24-bit color support
"let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"
"let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"
set termguicolors

" If using a dark background within the editing area and syntax highlighting
" turn on this option as well
set background=dark

if has("autocmd")
	" Enabled file type detection
	" Use the default filetype settings. If you also want to load indent files
	" to automatically do language-dependent indenting add 'indent' as well.
	filetype plugin on
	"filetype indent on
endif " has ("autocmd")

" The following are commented out as they cause vim to behave a lot
" different from regular vi. They are highly recommended though.
set showcmd			" Show (partial) command in status line.
set showmatch			" Show matching brackets.
set ignorecase			" Do case insensitive matching
set incsearch			" Incremental search
"set expandtab			" replace tabs with spaces
set smarttab			" use shiftwidth instead of tabstop at start of line
set spell spelllang=en_us	" turn on the spell check
set hlsearch			" highlight all search matches

set laststatus=2
set statusline=%<%f%h%m%r%=%{&ff}\ %Y\ %b\ 0x%B\ \ %l,%c%V\ %P

"map <F5> :w<CR><bar>:!clear;go run %<CR>
"map <F6> :w<CR><bar>:%! gofmt<CR>
