" started.
set formatoptions+=l
" Remove comment leader when joining lines where it makes sense.
-if <SID>HasVersionAndPatch(703, 541)
+if s:HasVersionAndPatch(703, 541)
set formatoptions+=j
endif
endfunction
function! s:StatuslineFileEncoding()
if &fileencoding != '' && &fileencoding != 'utf-8'
+ \ && &filetype != 'help'
return '[' . &fileencoding . ']'
else
return ''
" Short function names to make 'statusline' more readable.
function! SBC()
- return <SID>StatuslineBufferCount()
+ return s:StatuslineBufferCount()
endfunction
function! SRF()
- return <SID>StatuslineRelativeFilename()
+ return s:StatuslineRelativeFilename()
endfunction
function! SFF()
- return <SID>StatuslineFileFormat()
+ return s:StatuslineFileFormat()
endfunction
function! SFE()
- return <SID>StatuslineFileEncoding()
+ return s:StatuslineFileEncoding()
endfunction
function! SSG()
- return <SID>StatuslineSyntaxGroup()
+ return s:StatuslineSyntaxGroup()
endfunction
set statusline=
set statusline+=%m " [+] if buffer was modified,
" [-] if 'modifiable' is off
set statusline+=%r " [RO] if buffer is read only
- set statusline+=%#Error# " display warnings
- set statusline+=%{SFF()} " - unexpected file format
- set statusline+=%{SFE()} " - unexpected file encoding
- set statusline+=%## " continue with normal colors
+ if v:version >= 700 " %#..# needs 7.0
+ set statusline+=%#Error# " display warnings
+ set statusline+=%{SFF()} " - unexpected file format
+ set statusline+=%{SFE()} " - unexpected file encoding
+ set statusline+=%## " continue with normal colors
+ endif
" on the right
set statusline+=%= " right align
" on Freenode for an improved version which doesn't clobber any marks.
nnoremap <silent> <Leader>; :call setline(line('.'), getline('.') . ';')<CR>
+if has('eval')
" * and # for selections in visual mode. Thanks to
" http://got-ravings.blogspot.com/2008/07/vim-pr0n-visual-search-mappings.html
" and all nerds involved (godlygeek, strull in #vim on Freenode).
-if has('eval')
function! s:VSetSearch()
let l:temp = @@ " unnamed register
normal! gvy
endfunction
vnoremap * :<C-U>call <SID>VSetSearch()<CR>//<CR>
vnoremap # :<C-U>call <SID>VSetSearch()<CR>??<CR>
+
+" Use 'noignorecase' for * and #. See comment in s:VSetSearch() for details.
+" Thanks to the writers of s:VSetSearch(), see above.
+ function! s:NSetSearch()
+ let l:cword = expand('<cword>')
+ let l:regex = substitute(escape(l:cword, '\'), '\n', '\\n', 'g')
+ let @/ = '\C\V'. '\<' . l:regex . '\>'
+ endfunction
+ nnoremap * :call <SID>NSetSearch()<CR>//<CR>
+ nnoremap # :call <SID>NSetSearch()<CR>??<CR>
endif
" I often type "W" instead of "w" when trying to save a file. Fix my mistake.
if !&diff && exists(':2match')
" Use ColorColumn for overlong lines if available and my color
" scheme is used.
- if &t_Co == 256 && <SID>HasSyntaxGroup('ColorColumn')
+ if &t_Co == 256 && s:HasSyntaxGroup('ColorColumn')
2match ColorColumn /\%>78v./
else
2match Todo /\%>78v./
" Special highlight for tabs to reduce their visibility in contrast to other
" SpecialKey characters (e.g. ^L).
- if &t_Co == 256 && <SID>HasSyntaxGroup('specialKeyTab')
+ if &t_Co == 256 && s:HasSyntaxGroup('specialKeyTab')
call matchadd('specialKeyTab', '\t')
endif
endif
endfunction
" Enable highlights for the current and all new windows. Thanks to bairui in
" #vim on Freenode (2012-04-01 00:22 CEST) for the WinEnter suggestion.
- call <SID>CustomSyntaxHighlights()
+ call s:CustomSyntaxHighlights()
if has('autocmd')
augroup vimrc
- autocmd WinEnter * call <SID>CustomSyntaxHighlights()
+ autocmd WinEnter * call s:CustomSyntaxHighlights()
augroup END
endif
echoerr 'Do not edit this file! (Maybe a template file.)'
endfunction
- autocmd BufRead * call <SID>SearchForDoNotEditHeader()
+ autocmd BufRead * call s:SearchForDoNotEditHeader()
" AFTER/FTPLUGIN AUTO COMMANDS