]> ruderich.org/simon Gitweb - config/dotfiles.git/blobdiff - vimrc
after/syntax/perl.vim: support Inline::C highlighting
[config/dotfiles.git] / vimrc
diff --git a/vimrc b/vimrc
index a62b93bcf85115234aeca50705800d0f0ef7643d..4860c7fac09feb6cd622aa76ba9e0f6dcb1a9552 100644 (file)
--- a/vimrc
+++ b/vimrc
@@ -449,10 +449,10 @@ if has('statusline')
     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,
@@ -606,6 +606,19 @@ nnoremap <silent> <Leader>8 :8buffer<CR>
 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
 
@@ -750,7 +763,11 @@ inoreabbrev completly completely
 
 " 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
@@ -796,7 +813,7 @@ if has('syntax')
 
         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).
@@ -983,16 +1000,17 @@ if has('autocmd')
         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