]> ruderich.org/simon Gitweb - config/dotfiles.git/blobdiff - vimrc
vimrc: Fix compatibility for older Vim versions.
[config/dotfiles.git] / vimrc
diff --git a/vimrc b/vimrc
index 0df4fd6e2189294310d928e6910cba4d963d6370..7a56542261ea0682a55968a44c47c452edff838b 100644 (file)
--- a/vimrc
+++ b/vimrc
@@ -79,6 +79,14 @@ if exists('+cryptmethod')
     set cryptmethod=blowfish
 endif
 
+" Clear all vimrc-related autocmds. Has to be done here as the vimrc augroup
+" is used multiple times.
+if has('autocmd')
+    augroup vimrc
+        autocmd!
+    augroup END
+endif
+
 
 " EDIT SETTINGS
 
@@ -422,10 +430,12 @@ if has('syntax')
 " Use (limited) syntax based omni completion if no other omni completion is
 " available. Taken from :help ft-syntax-omni.
     if has('autocmd') && exists('+omnifunc')
-        autocmd FileType *
-            \ if &omnifunc == '' |
-            \     setlocal omnifunc=syntaxcomplete#Complete |
-            \ endif
+        augroup vimrc
+            autocmd FileType *
+                \ if &omnifunc == '' |
+                \     setlocal omnifunc=syntaxcomplete#Complete |
+                \ endif
+        augroup END
     endif
 
 " Highlight lines longer than 78 characters. Thanks to Tony Mechelynck
@@ -466,8 +476,9 @@ if has('syntax')
     let g:perl_include_pod = 1 " syntax coloring for PODs
     " Python.
     let g:python_highlight_all = 1
-    " Vim, enable folding for autogroups (a) and functions (f).
-    let g:vimsyn_folding = "af"
+    " Vim.
+    let g:vimsyn_embed = 0      " don't highlight embedded languages
+    let g:vimsyn_folding = "af" " folding for autogroups (a) and functions (f)
     " XML.
     let g:xml_syntax_folding = 1
 endif
@@ -506,8 +517,6 @@ endif
 " twice.
 if has('autocmd')
     augroup vimrc
-" Remove all autocmds from the current group.
-        autocmd!
 
 " Go to last position of opened files. Taken from :help last-position-jump.
         autocmd BufReadPost *
@@ -530,13 +539,17 @@ if has('autocmd')
 
 " Automatically disable 'paste' mode when leaving insert mode. Thanks to
 " Raimondi in #vim on Freenode (2010-08-14 23:01 CEST). Very useful as I only
-" want to paste once and then 'paste' gets automatically unset.
+" want to paste once and then 'paste' gets automatically unset. InsertLeave
+" doesn't exist in older Vims.
         if exists('##InsertLeave')
             autocmd InsertLeave * set nopaste
         endif
 
-" Write file when running :mak[e] before 'makeprg' is called.
-        autocmd QuickFixCmdPre * write
+" Write file when running :mak[e] before 'makeprg' is called. QuickFixCmdPre
+" doesn't exist in older Vims.
+        if exists('##QuickFixCmdPre')
+            autocmd QuickFixCmdPre * write
+        endif
 
 " AFTER/FTPLUGIN AUTO COMMANDS