""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-" Multi-version vimrc compatible with version 4 and above. vim:set fdm=marker:
+" Multi-version vimrc compatible with version 4 and above. vim6:set fdm=marker:
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Note that "if <condition> | call Something() | endif" syntax is unsupported
" Helper for status line.
" Show file encoding
-func! Show_Encoding() "{{{2
+fun! Show_Encoding() "{{{2
+ if version < "600"
+ return ""
+ endif
+
let l:enc = &fenc
+ let l:symbol = ""
if l:enc == ""
let l:enc = &enc
if l:enc == ""
return ""
endif
- let l:enc = '(' . l:enc . ')'
+ if bufname("%") == ""
+ if Has_Unicode()
+ let l:symbol = '•'
+ else
+ let l:symbol = '*'
+ endif
+ endif
endif
if has("multi_byte")
if &bomb
if Has_Unicode()
- let l:enc = l:enc . "☻"
+ let l:symbol = "☻"
else
- let l:enc = l:enc . "@"
+ let l:symbol = "@"
endif
endif
endif
- return l:enc . ","
+ " Don't return anything if the encoding is utf-8.
+ if l:enc == "utf-8"
+ if l:symbol == ""
+ return ""
+ endif
+ endif
+
+ return l:symbol . l:enc . ","
endfun "}}}2
" Helper for status line.
endfun "}}}2
" Helper for status line.
+" Mark DOS buffers.
+fun! Show_DOS() "{{{2
+ if &ff == "unix"
+ return ""
+ endif
+ return &ff . ","
+endfun "}}}2
+
+" Helper for status line.
" Show the size of the tabstop.
fun! Show_Tabstop() "{{{2
return &ts
return
endif
call Iain_Vars()
- let l:sl1='%2n\:\ %<%1*%f%0*\ [%{Show_Encoding()}%{Show_List()}%{Show_Bind()}%{Show_Case()}%{Show_Tabstop()}%{Show_Paste()}%{Show_VirtualEdit()}%{Show_Undo()}%Y%M%R%{Show_SearchForward()}]%{Show_Alt()}\ '
- let l:sl3='%{Show_Marks()}L:%1*%4.6l%0*/%-4.6L\ C:%1*%3.6c%V%0*\ \|\ %P'
+
+ " User{N} highlights %{N}*.
+ " Named highlight groups %#group% aren't available until Vim 7.
+ let l:normal = '%0*'
+ let l:bold = '%1*'
+
+ " sl1 contains left-aligned stuff.
+ " sl2 contains stuff shown only when verbose mode is enabled.
+ " sl3 contains right-aligned stuff.
+ let l:sl1='%2n\:\ %<' . l:bold . '%f' . l:normal . '\ [%{Show_Encoding()}%{Show_DOS()}%{Show_List()}%{Show_Bind()}%{Show_Case()}%{Show_Tabstop()}%{Show_Paste()}%{Show_VirtualEdit()}%{Show_Undo()}%Y%M%R%{Show_SearchForward()}]%{Show_Alt()}\ '
+ let l:sl3='%{Show_Marks()}L:' . l:bold . '%4.6l' . l:normal . '/%-4.6L\ C:' . l:bold . '%3.6c%V' . l:normal . '\ \|\ %P'
let l:hexformat='%b'
if b:iainhex
let l:hexformat='0\x%02B'
" Show signs by default.
au Display VimEnter * call <SID>Cycle_Signs(0)
endif
-endif "}}}1
" move.
nmap <A-u> <Plug>MoveLineHalfPageUp
nmap <A-d> <Plug>MoveLineHalfPageDown
vmap <A-u> <Plug>MoveBlockHalfPageUp
vmap <A-d> <Plug>MoveBlockHalfPageDown
+endif "}}}1
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Handle options only available in Vim 7 and above.
if version >= "700" "{{{1
version 7.0
+" Narrow buffer with \w.
+call Mapping("w", ":NarrowRegion<CR>:<CR>")
+" Narrow window with \W.
+call Mapping("W", ":NarrowWindow<CR>:<CR>")
+
" Helper to show tab name.
fun! <SID>TabName(label, gui) "{{{2
let l:label = a:label
" NERDcommenter.
let g:NERDSpaceDelims=1
-endif "}}}1
" localvimrc.
let g:localvimrc_persistent=1
" Gitv.
let g:Gitv_OpenHorizontal='auto'
let g:Gitv_WipeAllOnClose=1
+endif "}}}1
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Handle options only available in Vim 7.2 and above.