add vim conf files
[arrow.git] / conf_slk120 / vim / _vim / plugin / LargeFile.vim
blob20f868b4aaf829b0ca819688dfe5471984e9f67a
1 " LargeFile: Sets up an autocmd to make editing large files work with celerity
2 "   Author:             Charles E. Campbell, Jr.
3 "   Date:               Mar 30, 2006
4 "   Version:    2
5 " GetLatestVimScripts: 1506 1 LargeFile.vim
7 " Load Once: {{{1
8 if exists("g:loaded_LargeFile") || &cp
9  finish
10 endif
11 let g:loaded_LargeFile = "v2"
12 let s:keepcpo          = &cpo
13 set cpo&vim
14 " ---------------------------------------------------------------------
15 "  Options: {{{1
16 if !exists("g:LargeFile")
17  let g:LargeFile= 100   " in megabytes
18 endif
20 " ---------------------------------------------------------------------
21 "  LargeFile Autocmd: {{{1
22 " for large files: turns undo, syntax highlighting, undo off etc
23 " (based on vimtip#611)
24 let s:LargeFile= g:LargeFile*1024*1024
25 augroup LargeFile
26   au BufReadPre *
27   \ let f=expand("<afile>") |
28   \  if getfsize(f) >= s:LargeFile |
29   \  let b:eikeep= &ei |
30   \  let b:ulkeep= &ul |
31   \  set ei=FileType |
32   \  setlocal noswf bh=unload |
33   \  let f=escape(substitute(f,'\','/','g'),' ') |
34   \  exe "au LargeFile BufEnter ".f." set ul=-1" |
35   \  exe "au LargeFile BufLeave ".f." let &ul=".b:ulkeep."|set ei=".b:eikeep |
36   \  exe "au LargeFile BufUnload ".f." au! LargeFile * ". f |
37   \  echomsg "***note*** handling a large file" |
38   \ endif
39 augroup END
41 " ---------------------------------------------------------------------