From 190811dccbcaee6bd2b55b1f2e5b75f910be31be Mon Sep 17 00:00:00 2001
From: Max Christian Pohle
Date: Tue, 13 Sep 2016 16:33:51 +0200
Subject: started over

Dropped YouCompleteMe, because its deployment is too complicated for a
default configuration.
---
 vimrc-old | 303 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 303 insertions(+)
 create mode 100644 vimrc-old

(limited to 'vimrc-old')

diff --git a/vimrc-old b/vimrc-old
new file mode 100644
index 0000000..c5bd4e6
--- /dev/null
+++ b/vimrc-old
@@ -0,0 +1,303 @@
+" vi:columns=160:list:ts=2:sts=2:sw=2
+"================================================================================
+" Vundle: plugin manager...
+set nocompatible                                      | " do not try to be vi, be vim (required by Vundle)
+filetype off                                          | " Vundle needs this
+set rtp+=~/.vim/bundle/Vundle.vim                    | " set runtimepath (required by Vundle)
+call vundle#begin('~/.vim/bundle/')                  | " location where Vundle searches&installs plugins
+
+" Plugin dependant configurations...
+Plugin 'tpope/vim-sensible'                           | " a sane and modern default configuration 
+Plugin 'tpope/vim-fugitive'                           | " the most complete GIT integration plugin
+Plugin 'tpope/vim-surround'                           | " plugin makes cs"' inside a line replace " with '
+Plugin 'tpope/vim-repeat'                             | " lets . (dot) repeat plugin macros as well, specifically vim-surround
+Plugin 'tpope/vim-vinegar'                            | " Improves :Explore
+Plugin 'tpope/vim-characterize'                       | " normal mode: make ga show character names of Unicode chars (ga shows hex and dec values)
+
+Plugin 'tpope/vim-vividchalk'                         | " dark theme
+Plugin 'nelstrom/vim-mac-classic-theme'               | " light theme
+
+Plugin 'Valloric/YouCompleteMe'                       | " syntax checker and code completion
+Plugin 'cscope_plus.vim'                              | " run cscope -R -b in project folder then use
+Plugin 'autoload_cscope.vim'                          | " CTRL+\ s searches word under cursor, CTRL+T back
+Plugin 'jeaye/color_coded'                            | " semantic highlighting with vim
+Plugin 'terryma/vim-multiple-cursors'                 | " displays visual block mode as cursors
+Plugin 'taglist-plus'                                 | " quick code navigator
+Plugin 'jdonaldson/vaxe'                              | " code completion for haxe
+Plugin 'sheerun/vim-polyglot'                         | " better syntax highlighting/indentation for multiple languages
+Plugin 'loremipsum'                                   | " Sample text generator
+Plugin 'vim-airline/vim-airline'                      | " beautification of the mode line
+Plugin 'nathanaelkane/vim-indent-guides'              | " shows indentation guidelines by pressing <leader>ig 
+Plugin 'gregsexton/matchtag'                          | " highlights closing ML tags like braces 
+Plugin 'indenthtml.vim'                               | " works better with mixed html/css/javascript
+Plugin 'easymotion/vim-easymotion'                    | " speed up navigation: try \\w or \\f, then one of the highlighted chars
+Plugin 'Shougo/vimproc.vim'
+Plugin 'Shougo/vimshell.vim'
+Plugin 'jeetsukumaran/vim-buffergator'                | " switch buffers with \b or <\-Left> <\-Right>
+
+let g:airline_powerline_fonts = 1
+
+let Tlist_Compact_Format = 1                          | "
+let Tlist_GainFocus_On_ToggleOpen = 1                 | "
+let Tlist_Close_On_Select = 1                         | "
+
+Plugin 'VundleVim/Vundle.vim'                         | " Vundle itself (required)
+let g:ycm_global_ycm_extra_conf = '~/.vim/ycm_extra_conf.py' | " fallback, right one should be in the applications path
+let g:ycm_confirm_extra_conf = 0                      | " disable 'do you really want to execute .py?'
+let g:ycm_key_select_completion = '<Tab>'             | " key completion key
+let g:ycm_error_symbol = '✖'                          | " insert this as an error symbol in the gutter bar
+let g:ycm_warning_symbol = '➔'                        | " insert this as a warning symbol in the gutter bar
+let g:ycm_collect_identifiers_from_tags_files = 1     | "
+let g:ycm_autoclose_preview_window_after_insertion=1  | " close the window when leaving insert mode
+"let g:ycm_semantic_triggers = {'c' : ['(', ',']}     | " add additional triggers (not recommend)
+
+let b:html_omni_flavor='xhtml'                        | " prever xhtml over html because that makes inline php code possible without hassle
+let html_use_css = 1                                  | " when using :TOhtml no font-tags will be used, but proper css
+let g:vim_markdown_folding_disabled=1                 | " disable code folding with vimdiff (also see set nofoldenable)
+
+let g:netrw_liststyle=3                               | " Explore mode: 3 shows a complete tree instead of the current directory
+let g:netrw_list_hide='^\..*'                         | " Explore mode: hide files starting with dot
+
+
+" speed up CTRL-P Menu...
+let g:ctrlp_user_command = 'ag %s -i --nocolor --nogroup --hidden
+      \ --ignore .git
+      \ --ignore .svn
+      \ --ignore .hg
+      \ --ignore .DS_Store
+      \ --ignore "**/*.pyc"
+      \ -g ""'
+
+call vundle#end()             | " required by Vundle
+filetype plugin indent on     | " required by Vundle
+"================================================================================ 
+" custom config
+colorscheme mac_classic
+" colorscheme coderonline
+syntax enable
+
+set noswapfile                | " noundofile, nobackup, nowritebackup
+set backupdir=~/.vim/temp     | " using :set backup will copy current file to this directory
+set directory=~/.vim/temp     | " 
+set undodir=~/.vim/temp       | " 
+
+set ts=2 sts=2 sw=2 expandtab | " indentation which i like (abbr: tabstop, softtabstop, shiftwidth)
+set autoindent                | " always set autoindenting on
+set autochdir                 | " change to the current files working dir (might break some plugins!)
+set copyindent                | " copy the previous indentation on autoindenting
+set scrolloff=2               | " always keeps at least two lines visible (when seeking)
+" set selectmode=mouse          | " avoid using select mode (only with mouse)
+set mousemodel=popup_setpos   | " display a default right click menu for the selection (that is c&p is possible)
+set selection=exclusive       | " includes last character of the selection into following command (like x or d)
+
+set whichwrap=b,s,<,>,[,]     | " beyond beginning/end line causes cusor to wrap
+set backspace=indent,eol,start| " allow backspacing over everything in insert mode, not needed with whichwrap
+set diffopt+=vertical,iwhite,filler    | " lets diff ignore white spaces
+set spell spelllang=en,de     | " enable spell checker
+set virtualedit=onemore       | " one character beyond the line length should be navigatable (options: all,insert,block,onemore)
+set breakindent cpoptions+=n  | " when wrapping lines indent wrapped line to align with the previews
+set linebreak                 | " do not wrap in the middle of words
+set display+=lastline         | " do not show the @ symbol in the end of a long line
+set showcmd                   | " displays status line messages while selecting (matrix size)
+set nofoldenable              | " do not fold code automatically
+set tags+=~/.vim/systags      | " ctags -R -f ~/.vim/systags /usr/include /usr/local/include
+set wildmenu wildmode=full    | " wildmenu code completion
+set guifont="Droid Sans Mono for Powerline 10"
+
+" search...
+set ignorecase smartcase      | " if search pattern contains uppercase then search is case sensitive
+set incsearch                 | " do incremental searching
+set showmatch matchtime=4     | " blinks matching braces
+
+set novisualbell              | " don't beep
+set noerrorbells              | " don't beep
+set clipboard=unnamedplus     | " makes copy and paste work (autoselectplus might work as well)
+set number                    | " toggle line numbers
+set formatprg=par             | " set external formatting program to par, use gwip to format with this
+set laststatus=2              | " this is required for airline
+set cmdheight=1               | " controls how many lines the command line has
+set relativenumber            | " displays current lines line no as zero point from where relative numbers are getting counted
+set timeoutlen=500            | " time between keys e.g. 80i=
+set ttimeoutlen=10            | " set esc key timeout in ms 
+
+set splitbelow                | " open new windows below the current one (i find that more intuitive)
+
+if has("multi_byte")
+  set encoding=utf-8          | " we need default utf-8 encoding to use cool chars as line break and so on (see below)
+  scriptencoding utf-8        | " tell vim that we are using utf-8 here
+  set showbreak+=›            | " symbol used in the beginning of a wrapped line
+  set listchars=eol:↲         | " symbols used when using :set list (which displays non-printable chars)
+  set listchars+=trail:·      | " symbols used when using :set list (which displays non-printable chars)
+  set listchars+=precedes:«   | " symbols used when using :set list (which displays non-printable chars)
+  set listchars+=extends:»    | " symbols used when using :set list (which displays non-printable chars)
+  set listchars+=tab:▸\       | " symbols used when using :set list (which displays non-printable chars)
+endif
+
+if has("autocmd")
+  set modeline                | " set variables specific to a file, like indentation by adding a comment
+  set modelines=3             | " how many lines in the beginning and end of the file can be mode lines?
+
+  augroup resCur              | " make cursor appear in its previous position when reopening a file...
+    autocmd BufReadPost * call setpos(".", getpos("'\""))
+  augroup END
+
+  augroup PreviewOnBottom     | " will open new windows below the current (only in insert mode, so that the preview window is drawn below)
+    autocmd InsertEnter * set splitbelow
+    autocmd InsertLeave * set splitbelow!
+  augroup END
+
+  augroup OmniFunc            | " this will enable omnicomplete just in case this configuration runs somewhere, where YouCompleteMe is not compiled
+    if exists("+omnifunc")
+      autocmd Filetype *
+            \	if &omnifunc == "" |
+            \	setlocal omnifunc=syntaxcomplete#Complete |
+            \	setlocal completeopt=longest,menuone |
+            \	endif
+      autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
+    endif
+  augroup END
+
+  autocmd FileType text setlocal textwidth=78  | " text files: set 'textwidth' to 78
+  autocmd FileType gitcommit set tw=72         | " longer commit messages without auto line wrapping
+  autocmd FileType LaTeX let g:tex_flavor = "latex"| set conceallevel=1| set concealcursor=
+  autocmd BufNewFile,BufReadPost *.config set filetype=xml | " visual studio config file
+  autocmd BufNewFile,BufReadPost *.csproj set filetype=xml | " visual studio project file
+  autocmd BufNewFile,BufReadPost *.sln set filetype=xml    | " visual studio solution file
+endif
+
+"================================================================================ 
+" gui stuff and appearance
+if &t_Co > 2
+  set hlsearch               | " highlight all search matches
+  set cursorline             | " highlight currently selected line
+endif
+
+
+if has("gui_running")
+  set mouse=a                   | " use mouse in gui-mode (which is default)
+  set mouseshape+=n:beam,v:beam | " display a text input cursor even in normal and selection mode
+  set guicursor=n-v-c:ver20-Cursor-blinkon500-blinkoff500  | " how the caret looks like
+  set guitablabel=%t            | " do not display full path as tabname
+  set guioptions+=m             | " menu bar
+  set guioptions-=T             | " toolbar
+  set guioptions+=r             | " right-hand scroll bar
+  set guioptions-=c             | " use console dialogs instead of popups
+  set guioptions+=a             | " autoselect: copy&paste using middleclick
+  set guioptions+=e             | " add tab pages
+  set guioptions+=p             | " use gui pointer callback for x11 
+  set toolbariconsize=large     | " make the icon toolbar as big as possible
+  "set columns=80               | " set initial window width (so that it fits the terminals)
+else
+  if &term =~? 'mlterm\|xterm\|screen'
+    set t_Co=256                | " fixes incompatibilities with our color scheme
+  endif
+  set mouse=nh                  | " limits mouse usage to normal mode and help files, so that middle click text insertion works in insert mode
+  set title                     | " set the terminal caption
+  set icon                      | " sets the terminal icon to vim
+  set ttyfast                   | " modern terminals are all fast in a way
+  "set titleold="vim ended"      | " set terminal title after closing vim
+  "set titlestring="VIM-CONSOLE" | " set window title
+  "if has('mouse')
+  "endif
+endif
+
+
+"================================================================================ 
+" custom commands...
+"
+" assign selection keys (these i missed a lot)
+nmap <S-Left> vh|                      " shift-left selects to the left
+xmap <S-Left> h|                       " ^^
+nmap <S-Right> vl|                     " shift-right selects to the right
+xmap <S-Right> l|                      " ^^
+nmap <S-Up> vk|                        " shift-up selects like other text editors
+xmap <S-Up> k|                         " ^^
+nmap <S-Down> vj|                      " shift down selects like other text editors
+xmap <S-Down> j|                       " ^^
+nmap <Home> ^|                         " default homing in code editors is the first letter of a line
+xmap <Home> 0|                         " go to the beginning of the line
+xmap <S-Home> 0|                       " ^^
+xmap <Tab> >gv|                        " indent lines (and retain selection)
+xmap <S-Tab> <gv|                      " unindent lines (and retain selection)
+nmap <S-PageUp> VH|                    " selects predessing paragraph 
+nmap <S-PageDown> VL|                  " selects following paragraph
+nmap <C-S-PageUp> V{|                  " selects predessing paragraph 
+nmap <C-S-PageDown> V}|                " selects following paragraph
+
+nmap <C-o> :24vs.<CR>|                 " means the same as :vsplit. and opens the :Exlore -window with a width of 24
+
+
+
+
+
+map <C-h> <C-w>h|map <C-j> <C-w>j|     " window navigation shortcuts
+map <C-k> <C-w>k|map <C-l> <C-w>l|     " window navigation shortcuts
+
+cmap w!! w !sudo tee % >/dev/null|     " write :w!! to execute :w as root user
+
+" custom hotkeys... 
+nnoremap <C-Tab> :tabnext<CR>|         " lets one use CTRL+Tab to switch between tabs
+nnoremap <C-S-Tab> :tabprevious<CR>|   " use CTRL+Shift+Tab to switch to preview tab
+
+nnoremap j gj|nnoremap k gk|           " do not jump over wrapped lines
+
+nnoremap $ g$|                         " and make the $ key position the cursor after the last char of that line, not before
+nnoremap <End> g$|                     " and make the <End> key position the cursor after the last char of that line
+" function ExtendedHome()
+"     let column = col('.')
+"     normal! ^
+"     if column == col('.')
+"         normal! 0
+"     endif
+" endfunction
+" noremap <silent> <Home> :call ExtendedHome()<CR>
+
+nnoremap <C-z> u
+
+
+"map <C-Right>        el
+"map <C-left>         hgel
+"vnoremap <C-S-Right> e
+"vnoremap <C-S-left>  b
+
+
+" plugin hotkeys
+map <C-l> :TlistToggle<CR>|       " bind TagList to Hotkey Ctrl+L
+inoremap <buffer> ( <C-X><C-o><C-p>(|  " when opening a bracket: call the OmniComplete function, display the menu, but deselect the first entry (C-p)
+
+
+set makeprg=make\ test
+nnoremap <F5> :!make<CR>|              " classic key binding: press F5 to compile and execute (if you have a Makefile with make test doing that)
+
+"================================================================================
+" deactivated on-demand commands (just in case one needs them one day)
+"
+" code completion: http://vim.wikia.com/wiki/Make_Vim_completion_popup_menu_work_just_like_in_an_IDE
+" reacts on CTRL+P, CTRL+Space
+"inoremap <expr> <CR>       pumvisible() ? "\<C-y>" : "\<C-g>u\<CR>"
+"inoremap <expr> <CR>       pumvisible() ? "\<C-y>" : "\<CR>"
+"inoremap <expr> <Down>     pumvisible() ? "\<C-n>" : "\<Down>"
+"inoremap <expr> <Up>       pumvisible() ? "\<C-p>" : "\<Up>"
+"inoremap <expr> <PageDown> pumvisible() ? "\<PageDown>\<C-p>\<C-n>" : "\<PageDown>"
+"inoremap <expr> <PageUp>   pumvisible() ? "\<PageUp>\<C-p>\<C-n>" : "\<PageUp>"
+" set guiheadroom=0| " do not fill non-functional area of the empty editor with gtk background
+" map shift-right to visually select and so on
+"nnoremap <C-Right> El
+"nnoremap <S-Right> vl
+"nnoremap <S-Left> vj
+"nnoremap <S-Up> vk
+"nnoremap <S-Down> vj
+" noremap % v% " jump between braces and highlight
+"nnoremap <Home> ^
+"vmap <Home> ^
+"nnoremap <End> $
+"vmap <End> $
+"nnoremap <C-Tab> <C-PageDown>
+"nnoremap <C-S-Tab> <C-PageUp>
+":inoremap <expr> <CR> pumvisible() ? "\<C-y>" : "\<C-g>u\<CR>"
+"inoremap <expr> <Esc>      pumvisible() ? "\<C-e>" : "\<Esc>" " breaks cursor keys!
+" binding ESC can easily break cursor key movement on the console (tricky, because gvim works)
+"inoremap <C-Space> <C-x><C-o>
+"inoremap <C-@> <C-Space>
+"
+"map <Esc>OA k|map <Esc>OB j|map <Esc>OC l|map <Esc>OD h|             " allow cursor keys in insert mode
-- 
cgit v1.2.3