X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=vimrc;h=82e8d33b2dcd01d9394f9d27f5dec90909f64f2e;hb=2a82b8d311c8e48d8608adf1ef9bab9518961965;hp=d0b437d402df4dd4b132664a0df4b7d3248bb42e;hpb=6880b50d999ac5791063571700e0d20149617ddb;p=config%2Fdotfiles.git diff --git a/vimrc b/vimrc index d0b437d..82e8d33 100644 --- a/vimrc +++ b/vimrc @@ -388,7 +388,7 @@ if has('statusline') endif endfunction - " Display unexpected 'fileformat' and 'fileencoding' settings. + " Display unexpected 'fileformat', 'fileencoding' and 'bomb' settings. function! s:StatuslineFileFormat() if &fileformat != 'unix' return '[' . &fileformat . ']' @@ -404,6 +404,13 @@ if has('statusline') return '' endif endfunction + function! s:StatuslineFileBOMB() + if exists('+bomb') && &bomb + return '[BOM]' + else + return '' + endif + endfunction " Return current syntax group in brackets or nothing if there's none. function! s:StatuslineSyntaxGroup() @@ -428,6 +435,9 @@ if has('statusline') function! SFE() return s:StatuslineFileEncoding() endfunction + function! SFB() + return s:StatuslineFileBOMB() + endfunction function! SSG() return s:StatuslineSyntaxGroup() endfunction @@ -452,6 +462,7 @@ if has('statusline') set statusline+=%#Error# " display warnings set statusline+=%{SFF()} " - unexpected file format set statusline+=%{SFE()} " - unexpected file encoding + set statusline+=%{SFB()} " - unexpected file byte order mask set statusline+=%## " continue with normal colors endif @@ -970,13 +981,17 @@ if has('autocmd') endif " Display a warning when editing a file which contains "do not edit" (ignoring -" the case, \c), for example template files which were preprocessed or -" auto-generated files. Especially useful when the header is not displayed on -" the first screen, e.g. when the old position is restored. Not for vimrc -" though. +" the case) in the first lines of the file, for example template files which +" were preprocessed or auto-generated files. Especially useful when the header +" is not displayed on the first screen, e.g. when the old position is +" restored. function! s:SearchForDoNotEditHeader() - if search('\cdo not edit', 'n') == 0 - \ || expand(':t') =~# '^.\?vimrc$' + " Only search the first 20 lines to prevent false positives, e.g. + " in scripts which write files containing this warning and ignore + " the case (\c). (Can't use search()'s {stopline} as we might not + " start searching from the top.) + let l:match = search('\cdo not edit', 'n') + if l:match == 0 || l:match > 20 return endif @@ -999,6 +1014,10 @@ if has('autocmd') " the recommendation for git commit messages (http://tpope.net/node/106). autocmd FileType gitcommit let g:secure_modelines_allowed_items = [] | \ setlocal textwidth=72 +" Fix 'include' setting for shell files to recognize '.' and 'source' +" commands. Use &l:include instead of setlocal which requires excessive +" escaping of \. + autocmd FileType sh let &l:include = '^\s*\(\.\|source\)\s\+' " Use the same comment string as for Vim files in Vimperator files. autocmd FileType vimperator setlocal commentstring=\"%s " Use TeX compiler for (La)TeX files.