X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=vimrc;h=25688a68e958f2f260baac797ec7d5e02be92daf;hb=7b893ef84922a2ef2c2355b9c8b58d43ea5dc07e;hp=64a622595dc9da1bc5bdd76f813e044423b05735;hpb=4b75b7303116e43b1d842f8102dbb8a78cc880ce;p=config%2Fdotfiles.git diff --git a/vimrc b/vimrc index 64a6225..25688a6 100644 --- a/vimrc +++ b/vimrc @@ -1,6 +1,6 @@ " Vim main configuration file. -" Copyright (C) 2008-2013 Simon Ruderich +" Copyright (C) 2008-2016 Simon Ruderich " " This file is free software: you can redistribute it and/or modify " it under the terms of the GNU General Public License as published by @@ -46,6 +46,11 @@ set nocompatible " precaution just in case somebody enables 'exrc'. set secure +" Try to use pipes instead of temporary files. Prevents some auto commands +" from running for temporary files but also prevents the file's content to be +" written to disk. +set noshelltemp + " Use UTF-8 for all internal data (buffers, registers, etc.). This doesn't " affect reading files in different encodings, see 'fileencodings' for that. set encoding=utf-8 @@ -62,6 +67,8 @@ if filewritable('~/.tmp') == 2 || filewritable('~/tmp') == 2 endif " But store them in ~/.tmp or ~/tmp (already set by default) if available. set directory^=~/.tmp +" Never use /tmp which gets cleaned on reboot. +set directory-=/tmp " Disable modelines as they may cause security problems. Instead use " securemodelines (Vim script #1876). @@ -164,7 +171,8 @@ endif " existing files. set fileencodings=utf-8,latin1 -" Always use unix line-endings for new files. +" Always use unix line-endings for new files. DOS line endings in existing +" files are recognized. set fileformats=unix,dos " Wrap text after 78 characters. @@ -263,7 +271,7 @@ set number if exists('+numberwidth') set numberwidth=1 endif -" Display the ruler with current line/file position. If 'statusline' is used +" Display the ruler with current line/file position. If 'statusline' is used, " then this only affects . set ruler " Display partial commands in the status line. @@ -824,7 +832,7 @@ if has('syntax') " Highlight some important keywords in all documents. let l:todos = ['TODO', 'XXX', 'FIXME', 'NOTE', \ 'CHANGED', 'REMOVED', 'DELETED'] - " Compatibility fix for Vim 6.4 which can't handle for in function + " Compatibility fix for Vim 6.4 which can't parse for in functions " (without function it's ignored). execute ' for l:x in l:todos' \ '| call matchadd("Todo", l:x)' @@ -861,32 +869,32 @@ if has('syntax') " C let g:c_no_if0_fold = 1 " fix weird double fold in #if0 in recent versions - " Haskell. + " 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 - " Java. + " Java let g:java_highlight_java_lang_ids = 1 " color java.lang.* identifiers - " Perl. + " 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 - " PHP. + " PHP let g:php_folding = 3 " fold functions let g:php_short_tags = 0 " no short tags (), not always usable let g:php_sql_query = 1 " highlight SQL queries in strings - " Python. + " Python let g:python_highlight_all = 1 - " Shell. + " Shell let g:sh_noisk = 1 " don't add . to 'iskeyword' let g:sh_is_posix = 1 " POSIX shell (e.g. dash) is compatible enough let g:sh_fold_enabled = 7 " functions (1), heredoc (2) and if/do/for (4) - " Vim. + " Vim let g:vimsyn_embed = 0 " don't highlight embedded languages let g:vimsyn_folding = 'af' " folding for autogroups (a) and functions (f) - " XML. + " XML let g:xml_syntax_folding = 1 endif @@ -961,7 +969,7 @@ endif " AUTO COMMANDS " Use a custom auto group to prevent problems when the vimrc files is sourced -" twice. +" multiple times. if has('autocmd') augroup vimrc @@ -1044,8 +1052,7 @@ if has('autocmd') 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 \. +" commands. 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