]> ruderich.org/simon Gitweb - config/dotfiles.git/blobdiff - vimrc
vimrc: Enable additional highlighting for Haskell and Python.
[config/dotfiles.git] / vimrc
diff --git a/vimrc b/vimrc
index bc6894408014a102e8c312be10081015b2709837..f6ce23416f795b3ebf26f0b3a674dbacec95d6c3 100644 (file)
--- a/vimrc
+++ b/vimrc
@@ -202,6 +202,10 @@ endif
 
 " MAPPINGS (except for plugins, see PLUGIN SETTINGS below)
 
+" noremap is used to make sure the right side is executed as is and can't be
+" modified by a plugin or other settings. Except for <Nop> which isn't
+" affected by mappings.
+
 " Easy way to exit insert mode.
 inoremap jj <Esc>
 inoremap jk <Esc>
@@ -400,6 +404,15 @@ if has('syntax')
         set synmaxcol=500
     endif
 
+" 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
+    endif
+
 " Highlight lines longer than 78 characters. Thanks to Tony Mechelynck
 " <antoine.mechelynck@gmail.com> from the Vim mailing list. It can easily be
 " disabled when necessary with :2match (in Vim >= 700).
@@ -427,15 +440,21 @@ if has('syntax')
 " Settings for specific filetypes.
 
     " Haskell.
+    let g:hs_highlight_delimiters = 1
     let g:hs_highlight_boolean = 1
     let g:hs_highlight_types = 1
     let g:hs_highlight_more_types = 1
-
     " Perl.
     let g:perl_fold = 1
     let g:perl_fold_blocks = 1
     let g:perl_nofold_packages = 1
     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"
+    " XML.
+    let g:xml_syntax_folding = 1
 endif