+set smartindent
[dotvim.git] / vimrc
diff --git a/vimrc b/vimrc
index 90ef2f81ebc49dc3fdca4147ef507bb65d10fde6..4e5fc18da6e901967fa49fb12f7106e79033c13d 100644 (file)
--- a/vimrc
+++ b/vimrc
@@ -3,12 +3,12 @@ let b:vim_conf_dir = $HOME.'/.vim'
 if has("win32")
     let b:vim_conf_dir = $HOME.'\vimfiles'
 endif
+set nocompatible
 
 if isdirectory( b:vim_conf_dir . '/tmp/') == 0
     call mkdir(b:vim_conf_dir.'/tmp/', 'p', 0700)
 endif
 
-set nocompatible
 
 "load plugins
 if filereadable(b:vim_conf_dir . '/plugins.vundel.vim')
@@ -16,7 +16,7 @@ if filereadable(b:vim_conf_dir . '/plugins.vundel.vim')
 endif
 "
 " auskommentiert, macht in screen das nix gut aussieht..
-"set termguicolors 
+"set termguicolors
 set background=dark
 try
     let g:gruvbox_contrast_dark = 'hard'
@@ -34,6 +34,7 @@ set number
 set lazyredraw
 
 set autoindent
+set smartindent
 set expandtab
 set tabstop=4
 set softtabstop=4
@@ -41,8 +42,6 @@ set shiftwidth=4
 
 set pastetoggle=<F3>
 
-set scrolloff=5
-"set sidescrolloff=10
 set encoding=utf-8
 set modeline
 
@@ -96,8 +95,7 @@ nnoremap <C-l> <C-W>l
 nnoremap <Leader>i a'" <<  << "' <Esc>6hi
 nnoremap <Leader>a a'{}' <Esc>2hi
 nnoremap <Leader>A a'"+  +"' <Esc>4hi
-
-nnoremap <Leader>A a'"+  +"' <Esc>4hi
+autocmd FileType cpp nnoremap <Leader>a a'"<<  <<"' <Esc>5hi
 
 " see :h restore-position
 nnoremap <Leader>= msgg=G`s
@@ -133,9 +131,10 @@ nnoremap <C-l> <C-W>l
 
 " Copy paste to/from system clipboard
 vnoremap <C-c> "*y
-inoremap <C-S-v> <esc>"*p
-vnoremap <C-S-v> "*p
-
+noremap  <C-v> "*p
+noremap  <C-V> "*p
+inoremap <C-v> <esc>"*p
+vnoremap <C-v> "*p
 
 "nnoremap <Leader>= mzgg=G`z<CR>
 nnoremap <F2> :call FormatDocument()<CR>
@@ -152,7 +151,6 @@ nnoremap <M-j> :m +1<CR>==
 " repeat last command on all selected:
 vnoremap . :normal.<CR>
 
-
 vnoremap <leader>tt :Tabular /^[^-+=]*\zs\S*=/l1l1<cr>
 vnoremap <leader>t, :Tabular /,\zs/l1l1<cr>
 vnoremap <leader>t<space>  :Tabular /\s\+\zs/l1l0<cr>
@@ -174,7 +172,6 @@ else
     nnoremap <Leader>r :source ~/.vim/vimrc<CR>
 endif
 
-
 filetype plugin indent on
 
 " ack seems to have vanished from artfull, thus use silversearchger-ag
@@ -188,11 +185,14 @@ set list listchars=tab:→\ ,trail:·
 hi Visual  guifg=White guibg=Blue gui=bold
 
 set diffopt+=vertical
-set diffopt+=iwhite
+"set diffopt+=iwhite
 set diffopt+=algorithm:patience
 "jump to next diff and center line
 noremap <leader>n ]cz.
 noremap <leader>p [cz.
+if has ('win32')
+    set guifont=DejaVu_Sans_Mono:h11:cANSI:qDRAFT
+endif
 if &diff
     " ignore whitespace
     set diffopt+=vertical
@@ -202,26 +202,20 @@ if &diff
     syntax off
     highlight DiffText term=reverse cterm=reverse ctermfg=214 ctermbg=234 gui=reverse guifg=lightgreen guibg=DarkGreen
     " go fullscreen:
-    autocmd GuiEnter * simalt ~x
+    if has ('win32')
+        autocmd GuiEnter * simalt ~x
+        set guifont=DejaVu_Sans_Mono:h8:cANSI:qDRAFT
+    endif
     " make all diff windows the same size
     autocmd VimResized * wincmd =
     autocmd VimEnter *  2wincmd w
     autocmd VimEnter *  syntax off
     autocmd VimEnter * set guioptions+=b
     set relativenumber!
-    set guifont=DejaVu_Sans_Mono:h10:cANSI:qDRAFT
     set number
 else
     if has("gui_running")
         set lines=999 columns=120
-        set guifont=DejaVu_Sans_Mono:h12:cANSI:qDRAFT
-        "    if has("gui_macvim")
-        "        set guifont=Menlo\ Regular:h14
-        "    elseif has("gui_win32")
-        "        set guifont=Consolas:h11:cANSI
-        "    else
-        "        set guifont=Inconsolata\ 12
-        "    endif
     endif
     " from /etc/vim/vimrc (restore last editing position)
     if has("autocmd")
@@ -234,11 +228,10 @@ else
 
 endif
 
+
 " remove currently unused fugitive buffers:
 autocmd BufReadPost fugitive://* set bufhidden=delete
 
-autocmd GuiEnter * simalt ~x
-
 " reset terminal colors after vim leaves
 "if !has("gui_running")
 "    au VimLeave * !echo -ne "\033[0m"
@@ -248,11 +241,10 @@ autocmd GuiEnter * simalt ~x
 " wird.
 set t_ut=
 
-
 if has ('win32') || has('win32unix')
     let g:vimwiki_list = [
                 \{
-                \   'path':'~/vimwiki', 
+                \   'path':'~/vimwiki',
                 \   'path_html':'~/vimwiki/html/',
                 \   'syntax': 'markdown',
                 \   'ext': '.md'
@@ -373,14 +365,13 @@ function! UndoCSharStringInterpolation()
     silent! s/{\(.\{-}\)}/" + \1 + "/g
 endfunction
 
-
 """" ALE start """"
 inoremap <F4> <Esc>:ALEToggle<CR>
 nnoremap <F4> <Esc>:ALEToggle<CR>
 let g:ale_linters = {
             \   'cpp': ['gcc', 'cppcheck', 'clang'],
             \   'perl': ['perl', 'perlcritic'],
-            \} 
+            \}
 let b:ale_warn_about_trailing_whitespace = 1
 let g:ale_sign_column_always = 1
 let g:ale_cpp_clang_options =
@@ -394,7 +385,7 @@ let g:ale_cpp_clang_options =
             \   -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g+
             \'
 
-let g:ale_cpp_gcc_options = 
+let g:ale_cpp_gcc_options =
             \  '-std=c++14 -Wall -pedantic -fPIC
             \   -I/usr/include/x86_64-linux-gnu/qt5
             \   -I/usr/include/x86_64-linux-gnu/qt5/QtPrintSupport
@@ -415,13 +406,12 @@ if has("patch-7.4.354")
     set lbr
 endif
 
-hi CursorLineNr  term=underline  cterm=underline      ctermfg=White    ctermbg=darkBlue guibg=darkyellow
-hi clear Cursorline
-"hi CursorLine    gui=underline term=underline cterm=underline
+hi CursorLineNr  ctermbg=black guibg=black
+hi CursorLine    ctermbg=black guibg=black
 augroup CursorLine
-    au!
-    au VimEnter,WinEnter,BufWinEnter * setlocal cursorline
-    au WinLeave * setlocal nocursorline
+  au!
+  au VimEnter,WinEnter,BufWinEnter * setlocal cursorline
+  au WinLeave * setlocal nocursorline
 augroup END
 
 packadd! matchit
@@ -436,7 +426,6 @@ let g:acp_behaviorHtmlOmniLength = 0
 let g:acp_behaviorCssOmniPropertyLength = 1
 let g:acp_behaviorCssOmniValueLength = 0
 
-
 highlight ExtraWhitespace ctermfg=red guifg=red ctermbg=white guibg=DarkGrey
 
 " keine trailing whitespaces in hub log files anzeigen