" EDITOR SETTINGS
" Prevent editing as root as it may cause security problems. Use sudoedit
-" instead. Thanks to godlygeek in #vim on Freenode (2009-06-19 22:21).
+" instead. Thanks to godlygeek in #vim on Freenode (2009-06-19 22:21 CEST).
if $HOME == '/root' || exists('$SUDO_USER')
echomsg 'Running as root is forbidden! Use sudoedit.'
qall
cmap <Left> <Nop>
" Use Ctrl-P/Ctrl-N as replacement for <Up>/<Down> in command mode. Thanks to
-" abstrakt and grayw in #vim on Freenode (2010-04-12 21:20).
+" abstrakt and grayw in #vim on Freenode (2010-04-12 21:20 CEST).
cnoremap <C-P> <Up>
cnoremap <C-N> <Down>
nnoremap - <C-B>
" Go to next and previous buffer. Thanks to elik in #vim on Freenode
-" (2010-05-16 18:38) for this idea.
+" (2010-05-16 18:38 CEST) for this idea.
nnoremap <silent> gb :bnext<CR>
nnoremap <silent> gB :bprev<CR>
" on Freenode for an improved version which doesn't clobber any marks.
nnoremap <silent> <Leader>; :call setline(line('.'), getline('.') . ';')<CR>
+" * and # for selections in visual mode. Thanks to
+" http://got-ravings.blogspot.com/2008/07/vim-pr0n-visual-search-mappings.html
+" and all nerds involved (godlygeek, strull in #vim on Freenode).
+if has('eval')
+ function! s:VSetSearch()
+ let temp = @@
+ normal! gvy
+ let @/ = '\V' . substitute(escape(@@, '\'), '\n', '\\n', 'g')
+ let @@ = temp
+ endfunction
+ vnoremap * :<C-U>call <SID>VSetSearch()<CR>//<CR>
+ vnoremap # :<C-U>call <SID>VSetSearch()<CR>??<CR>
+endif
+
" I often type "W" instead of "w" when trying to save a file. Fix my mistake.
" Thanks to Tony Mechelynck <antoine.mechelynck@gmail.com> from the Vim
" mailing list for the commands.