X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=vimrc;h=ed6ce3b1f7882d0b345eefc8749deccb879926d6;hb=ae1617edc6d3d33217969a46b8eabb891e4bf1c8;hp=41dd8124b00fe1846168383d45a8b32f7f11cad7;hpb=1d44157241bd1b310c143faa0f269e90757731cc;p=config%2Fdotfiles.git diff --git a/vimrc b/vimrc index 41dd812..ed6ce3b 100644 --- a/vimrc +++ b/vimrc @@ -49,8 +49,11 @@ set encoding=utf-8 set runtimepath-=~/.vim set runtimepath^=~/.vim,~/.vim/runtime -" Don't store swap files in the same directory as the edited file. -set directory-=. +" Don't store swap files in the same directory as the edited file. But only if +" we have a "safe" writable directory available. +if filewritable('~/.tmp') == 2 || filewritable('~/tmp') == 2 + set directory-=. +endif " But store them in ~/.tmp or ~/tmp (already set by default) if available. set directory^=~/.tmp @@ -62,6 +65,10 @@ set nomodeline " matches after another (full). Thanks to pbrisbin " (http://pbrisbin.com:8080/dotfiles/vimrc). set wildmode=list:longest,full +" Ignore case when completing files/directories. +if exists('+wildignorecase') + set wildignorecase +endif " Increase history of executed commands (:). set history=1000 @@ -90,9 +97,9 @@ endif " HELPER FUNCTIONS +if has('eval') " Check if the given syntax group is available. Thanks to bairui in #vim on " Freenode (2012-02-19 01:15 CET) for the try/catch silent highlight idea. -if has('eval') function! s:HasSyntaxGroup(group) try execute 'silent highlight ' . a:group @@ -102,6 +109,12 @@ if has('eval') endtry return 1 endfunction + +" Check if the given Vim version and patch is available. + function! s:HasVersionAndPatch(version, patch) + return v:version > a:version + \ || (v:version == a:version && has('patch' . a:patch)) + endfunction endif @@ -117,6 +130,9 @@ endif " existing files. set fileencodings=utf-8,latin1 +" Always use unix line-endings for new files. +set fileformats=unix,dos + " Wrap text after 78 characters. set textwidth=78 @@ -144,6 +160,10 @@ set formatoptions+=ro " Don't break a line if was already longer then 'textwidth' when insert mode " started. set formatoptions+=l +" Remove comment leader when joining lines where it makes sense. +if HasVersionAndPatch(703, 541) + set formatoptions+=j +endif " Allow virtual editing (cursor can be positioned anywhere, even when there is " no character) in visual block mode. @@ -191,7 +211,7 @@ set hidden set background=dark " Use my color scheme if 256 colors are available. -if &t_Co == 256 +if &t_Co == 256 || has('gui_running') colorscheme simon endif @@ -337,7 +357,7 @@ if has('statusline') set statusline+=%02n " buffer number set statusline+=%{StatuslineBufferCount()} " highest buffer number set statusline+=: - if has('modify_fname') + if has('modify_fname') && v:version >= 700 " some functions need 7.0 set statusline+=%{StatuslineRelativeFilename()} " path to current file set statusline+=\ " space after path else @@ -732,14 +752,16 @@ if has('eval') " installing/removing/updating plugins simple. (Used for plugins with more " than one file.) Ignore errors in case pathogen is not installed. if v:version >= 700 - silent! execute 'call pathogen#runtime_append_all_bundles()' + silent! execute 'call pathogen#infect()' endif " Settings for securemodelines. " Only allow items I need (also includes spl which is not enabled by " default). - let g:secure_modelines_allowed_items = ['ft', 'spl', 'fdm', - \ 'sw', 'sts', 'noet'] + if v:version >= 700 " need lists + let g:secure_modelines_allowed_items = ['ft', 'spl', 'fdm', + \ 'sw', 'sts', 'noet'] + endif " Settings for the NERD commenter. " Don't create any mappings I don't want to use.