set statusline+=:
if has('modify_fname') && v:version >= 700 " some functions need 7.0
set statusline+=%{SRF()} " path to current file
- set statusline+=\ " space after path
else
- set statusline+=%f\ " path to current file in buffer
+ set statusline+=%f " path to current file in buffer
endif
+ set statusline+=\ " space after path
set statusline+=%h " [help] if buffer is help file
set statusline+=%w " [Preview] if buffer is preview buffer
set statusline+=%m " [+] if buffer was modified,
\ :call <SID>TemporaryNostartofline("<Bslash><Lt>C-U>")<CR>
endif
+" Let Y yank to the end of the line, similar to D and C. Use yy if you want to
+" yank a line. This fixes a weird inconsistency in Vi(m).
+nnoremap Y y$
+
" Write before suspending, thanks to deryni in #vim on Freenode (2011-05-09
" 20:02 CEST). To suspend without saving either unmap this or use :stop<CR>.
" Only the current buffer is written, thus switching to another buffer works
nnoremap <silent> <Leader>9 :9buffer<CR>
nnoremap <silent> <Leader>0 :10buffer<CR>
+" Use real tabs instead of soft tabs.
+if has('eval')
+" Switch from soft tabs to real tabs.
+ function! s:UseTabs()
+ setlocal noexpandtab shiftwidth=8 softtabstop=8
+ endfunction
+ nnoremap <silent> <Leader>t :call <SID>UseTabs()<CR>
+endif
+" Enable "verbatim" mode. Used to view files with long lines or without syntax
+" coloring.
+nnoremap <silent> <Leader>v :set nolist nowrap nospell synmaxcol=0<CR>
+ \ :2match<CR>
+
" Make last active window the only window. Similar to <C-W> o.
nnoremap <C-W>O <C-W>p<C-W>o
nmap <Leader>sd <Nop>
endif
-" Add semicolon to the end of the line. Thanks to
-" http://www.van-laarhoven.org/vim/.vimrc for this idea and godlygeek in #vim
-" 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
" Activate syntax coloring.
if has('syntax')
- syntax enable
+ " But only if it wasn't already active. Prevents breaking the syntax
+ " coloring when reloading the vimrc. Thanks to johnLate for the idea.
+ if !exists('g:syntax_on')
+ syntax enable
+ endif
" Don't highlight more than 500 columns as I normally don't have that long
" lines and they slow down syntax coloring. Thanks to Derek Wyatt
if exists('*matchadd')
" Highlight some important keywords in all documents.
- let l:todos = ['TODO', 'XXX', 'FIXME',
+ let l:todos = ['TODO', 'XXX', 'FIXME', 'NOTE',
\ 'CHANGED', 'REMOVED', 'DELETED']
" Compatibility fix for Vim 6.4 which can't handle for in function
" (without function it's ignored).
endif
" Display a warning when editing a file which contains "do not edit" (ignoring
-" 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.
+" the case) and similar messages 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()
" 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')
+ let l:search = '\c\(do not \(edit\|modify\)\|autogenerated by\)'
+ let l:match = search(l:search, 'n')
if l:match == 0 || l:match > 20
return
endif