" Vim main configuration file.
+" EDITOR SETTINGS
+
" Make sure Vim (and not Vi) settings are enabled.
set nocompatible
set runtimepath-=~/.vim
set runtimepath^=~/.vim,~/.vim/plugins,~/.vim/runtime
+" When completing paths first use the longest path then display a list of all
+" possible files.
+set wildmode=longest,list
+
+" Increase number of tabs which can be opened with the -p option.
+if v:version >= 700
+ set tabpagemax=50
+endif
+
" EDIT SETTINGS
if has("folding")
set foldmethod=syntax
set foldcolumn=2
- set foldlevel=99 " no folding at default
+ 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.
set spelllang=en_us
endif
+" Allow buffers with changes to be hidden.
+set hidden
+
" DISPLAY SETTINGS
set cursorline
endif
-" Display tabs as "^I" and trailing space as "-".
+" Display tabs, trailing space and non breakable spaces.
set list
-set listchars=trail:-
-
-
-" EDITOR SETTINGS
-
-" When completing paths first use the longest path then display a list of all
-" possible files.
-set wildmode=longest,list
-
-" Increase number of tabs which can be opened with the -p option.
-if v:version >= 700
- set tabpagemax=50
-endif
+set listchars=trail:-,nbsp:!
" MAPPINGS (except for plugins, see PLUGIN SETTINGS below)
nnoremap <Space> <C-f>
nnoremap - <C-b>
-" Maps to change spell language between English and German.
-map <Leader>se :set spelllang=en_us<CR>
-map <Leader>sd :set spelllang=de_de<CR>
+" Maps to change spell language between English and German and disable it.
+if v:version >= 700
+ map <Leader>sn :set nospell<CR>
+ map <Leader>se :set spell spelllang=en_us<CR>
+ map <Leader>sd :set spell spelllang=de_de<CR>
+endif
" Add semicolon to the end of the line. Thanks to
" http://www.van-laarhoven.org/vim/.vimrc for this idea and godlygeek in #vim
-" for an improved version which doesn't clobber any marks.
+" on Freenode for an improved version which doesn't clobber any marks.
nnoremap <silent> ; :call setline(line('.'), getline('.') . ';')<CR>
" I often type "W" instead of "w" when trying to save a file. Fix my mistake.