" Set up our variables.
fun! Iain_Vars()
if ! exists("b:iainlist") | let b:iainlist = 0 | endif
- if ! exists("b:iainhex") | let b:iainhex = 1 | endif
+ if ! exists("b:iainhex") | let b:iainhex = 0 | endif
+ if ! exists("b:iainfold") | let b:iainfold = 0 | endif
endfun
+" Change list mode.
fun! Cycle_List()
let basic='tab:\\_,trail:_,extends:<,precedes:>'
call Iain_Vars()
endif
endfun
+" Toggle folds.
+fun! Cycle_Fold()
+ call Iain_Vars()
+ let b:iainfold = ! b:iainfold
+ if b:iainfold | foldclose | else | foldopen | endif
+endfun
+
fun! Show_List()
call Iain_Vars()
if b:iainlist == 0
endfun
" Cycle between hex and decimal display of toolbar stuff.
-fun! Cycle_StatusLine()
+fun! Cycle_HexStatusLine()
call Iain_Vars()
let b:iainhex = ! b:iainhex
+ call Show_StatusLine()
+endfun
+
+fun! Show_StatusLine()
+ call Iain_Vars()
let sl1='%2n\:\ %<%f\ [%{Show_List()}%{Show_Case()}%{Show_Tabstop()}%{Show_Paste()}%Y%M%R]\ %='
let sl2='\ \|\ P:%4.6o\ L:%4.6l/%-4.6L\ C:%3.6c\ \|\ %P'
let hexformat='%b'
map Q <Nop>
" Swap hex/decimal statusline with Qx
-map Qx :call Cycle_StatusLine()<CR>:<CR>
+map Qx :call Cycle_HexStatusLine()<CR>:<CR>
" Swap case-sensitivity with Qc.
map Qc :call Invert_Case()<CR>:<CR>
" Cycle list styles with Ql.
map Q6 :se ts=16<CR>:<CR>
" Change to ts=32 with Q3.
map Q3 :se ts=32<CR>:<CR>
+" Change foldmethod with Qf.
+map Qf :call Cycle_Fold()<CR>:<CR>
+" Change number mode with Qn.
+map Qn :se number!<CR>:<CR>
" Vim 7 has tabs. Default "next tab" mapping is gt. Add "previous tab" as gb.
map gb :tabPrev<CR>
-call Cycle_StatusLine()
+call Show_StatusLine()
au VimLeave * if exists("andyoldcols") | let &columns=andyoldcols | endif