" Vim main configuration file.
-" Copyright (C) 2011-2012 Simon Ruderich
+" Copyright (C) 2008-2012 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
" Activate syntax folding.
if has('folding')
set foldmethod=syntax
- set foldcolumn=2
+ " Only use fold column if we have enough space (for example in a (virtual)
+ " terminals).
+ if &columns > 80
+ set foldcolumn=2
+ endif
set foldlevel=99 " no closed folds at default, 'foldenable' would disable
" folding which is not what I want
endif
-" Only check for case if the searched word contains a capital character.
+" Only check case if the searched word contains a capital character.
set ignorecase
set smartcase
endif
" Allow buffers with changes to be hidden. Very important for effective
-" editing with multiple buffers.
+" editing with multiple buffers. Prevents the "E37: No write since last change
+" (add ! to override)" warning.
set hidden
" Display line numbers.
set number
-" But use as little space as necessary for the numbers column. Thanks to James
+" But use as little space as possible for the numbers column. Thanks to James
" Vega (http://git.jamessan.com/?p=etc/vim.git;a=summary).
if exists('+numberwidth')
set numberwidth=1
" remove the highlighting until the next search.
set hlsearch
-" Display tabs, trailing space, non breakable spaces and long lines (when
-" wrapping is disabled).
+" Display some special characters.
set list
-set listchars=trail:-,extends:>
+set listchars=
+" Display tabs as ">--------".
+set listchars+=tab:>-
+" Display trailing whitespace as "-".
+set listchars+=trail:-
+" Display markers for long lines when wrapping is disabled.
+set listchars+=extends:>,precedes:<
+" Display non-breakable space as "!".
if v:version >= 700
set listchars+=nbsp:!
endif
" Write before suspending, thanks to deryni in #vim on Freenode (2011-05-09
" 20:02 CEST). To suspend without saving either unmap this or use :stop<CR>.
+" Only the current buffer is written.
nnoremap <silent> <C-Z> :update<CR>:stop<CR>
" 2<C-G> gives more verbose information, use it by default. Thanks to NCS_One
" 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).
- if exists(':2match')
+ if !&diff && exists(':2match')
2match Todo /\%>78v./
- else
+ elseif !&diff
match Todo /\%>78v./
endif
\ '2003', '2004', '2005', '2006', '2007', '2008',
\ '2009', '200a', '200b', '200c', '200d', '202f',
\ '205f', '2060', '3000', 'feff']
- " Compatibility fix for Vim 6.4.
+ " Compatibility fix for Vim 6.4. Escape \ inside the " string or
+ " it won't work!
execute ' for l:x in l:spaces'
- \ '| call matchadd("Error", "\%u" . l:x)'
+ \ '| call matchadd("Error", "\\%u" . l:x)'
\ '| endfor'
endif
endfunction