diff options
| author | Max Christian Pohle | 2016-05-24 14:14:54 +0200 |
|---|---|---|
| committer | Max Christian Pohle | 2016-05-24 14:14:54 +0200 |
| commit | fe89b5671d65560b57d51485789c23c38885e28d (patch) | |
| tree | d2483b2b4d80631411fc54ab55609073085c8742 /vimrc | |
| parent | 4c27c4e8a5d281427bc69fe442ea0f35bd4a53f9 (diff) | |
| download | vim-fe89b5671d65560b57d51485789c23c38885e28d.tar.bz2 vim-fe89b5671d65560b57d51485789c23c38885e28d.zip | |
major update: plugins, colorscheme, shortcuts, new git submodule!
* using nelstroms mac color scheme
* 'fixed' some keyboard shortcuts to behave more like in other editors
* added some plugins
Diffstat (limited to 'vimrc')
| -rw-r--r-- | vimrc | 81 |
1 files changed, 66 insertions, 15 deletions
| @@ -7,22 +7,30 @@ set rtp+=~/.vim/bundle/Vundle.vim | " set runtimepath (requir | |||
| 7 | call vundle#begin('~/.vim/bundle/') | " location where Vundle searches&installs plugins | 7 | call vundle#begin('~/.vim/bundle/') | " location where Vundle searches&installs plugins |
| 8 | 8 | ||
| 9 | " Plugin dependant configurations... | 9 | " Plugin dependant configurations... |
| 10 | Plugin 'VundleVim/Vundle.vim' | " Vundle itself (required) | 10 | Plugin 'Valloric/YouCompleteMe' | " syntax checker and code completion |
| 11 | Plugin 'cscope_plus.vim' | " run cscope -R -b in project folder then use | 11 | Plugin 'cscope_plus.vim' | " run cscope -R -b in project folder then use |
| 12 | Plugin 'autoload_cscope.vim' | " CTRL+\ s searches word under cursor, CTRL+T back | 12 | Plugin 'autoload_cscope.vim' | " CTRL+\ s searches word under cursor, CTRL+T back |
| 13 | Plugin 'tpope/vim-fugitive' | " the most complete GIT integration plugin | 13 | Plugin 'tpope/vim-fugitive' | " the most complete GIT integration plugin |
| 14 | Plugin 'jeaye/color_coded' | " semantic highlighting with vim | 14 | Plugin 'jeaye/color_coded' | " semantic highlighting with vim |
| 15 | Plugin 'terryma/vim-multiple-cursors' | " displays visual block mode as cursors | 15 | Plugin 'terryma/vim-multiple-cursors' | " displays visual block mode as cursors |
| 16 | |||
| 17 | Plugin 'taglist-plus' | " quick code navigator | 16 | Plugin 'taglist-plus' | " quick code navigator |
| 18 | Plugin 'jdonaldson/vaxe' | " code completion for haxe | 17 | Plugin 'jdonaldson/vaxe' | " code completion for haxe |
| 19 | Plugin 'sheerun/vim-polyglot' | " better syntax highlighting/indentation for multiple languages | 18 | Plugin 'sheerun/vim-polyglot' | " better syntax highlighting/indentation for multiple languages |
| 20 | Plugin 'loremipsum' | " Sample text generator | 19 | Plugin 'loremipsum' | " Sample text generator |
| 20 | Plugin 'vim-airline/vim-airline' | " beautification of the mode line | ||
| 21 | Plugin 'nathanaelkane/vim-indent-guides' | " shows indentation guidelines by pressing <leader>ig | ||
| 22 | Plugin 'gregsexton/matchtag' | " highlights closing ML tags like braces | ||
| 23 | Plugin 'indenthtml.vim' | " works better with mixed html/css/javascript | ||
| 24 | Plugin 'easymotion/vim-easymotion' | " speed up navigation: try \\w or \\f, then one of the highlighted chars | ||
| 25 | Plugin 'tpope/vim-surround' | " plugin makes cs"' inside a line replace " with ' | ||
| 26 | |||
| 27 | |||
| 28 | |||
| 21 | let Tlist_Compact_Format = 1 | " | 29 | let Tlist_Compact_Format = 1 | " |
| 22 | let Tlist_GainFocus_On_ToggleOpen = 1 | " | 30 | let Tlist_GainFocus_On_ToggleOpen = 1 | " |
| 23 | let Tlist_Close_On_Select = 1 | " | 31 | let Tlist_Close_On_Select = 1 | " |
| 24 | 32 | ||
| 25 | Plugin 'Valloric/YouCompleteMe' | " syntax checker and code completion | 33 | Plugin 'VundleVim/Vundle.vim' | " Vundle itself (required) |
| 26 | let g:ycm_global_ycm_extra_conf = '~/.vim/ycm_extra_conf.py' | " fallback, right one should be in the applications path | 34 | let g:ycm_global_ycm_extra_conf = '~/.vim/ycm_extra_conf.py' | " fallback, right one should be in the applications path |
| 27 | let g:ycm_confirm_extra_conf = 0 | " disable 'do you really want to execute .py?' | 35 | let g:ycm_confirm_extra_conf = 0 | " disable 'do you really want to execute .py?' |
| 28 | let g:ycm_key_select_completion = '<Tab>' | " key completion key | 36 | let g:ycm_key_select_completion = '<Tab>' | " key completion key |
| @@ -34,12 +42,27 @@ let g:ycm_autoclose_preview_window_after_insertion=1 | " close the window when | |||
| 34 | 42 | ||
| 35 | let b:html_omni_flavor='xhtml' | " prever xhtml over html because that makes inline php code possible without hassle | 43 | let b:html_omni_flavor='xhtml' | " prever xhtml over html because that makes inline php code possible without hassle |
| 36 | let html_use_css = 1 | " when using :TOhtml no font-tags will be used, but proper css | 44 | let html_use_css = 1 | " when using :TOhtml no font-tags will be used, but proper css |
| 45 | let g:vim_markdown_folding_disabled=1 | " disable code folding with vimdiff (also see set nofoldenable) | ||
| 46 | |||
| 47 | let g:netrw_liststyle=3 | " Explore mode: 3 shows a complete tree instead of the current directory | ||
| 48 | let g:netrw_list_hide='^\..*' | " Explore mode: hide files starting with dot | ||
| 49 | |||
| 50 | |||
| 51 | " speed up CTRL-P Menu... | ||
| 52 | let g:ctrlp_user_command = 'ag %s -i --nocolor --nogroup --hidden | ||
| 53 | \ --ignore .git | ||
| 54 | \ --ignore .svn | ||
| 55 | \ --ignore .hg | ||
| 56 | \ --ignore .DS_Store | ||
| 57 | \ --ignore "**/*.pyc" | ||
| 58 | \ -g ""' | ||
| 37 | 59 | ||
| 38 | call vundle#end() | " required by Vundle | 60 | call vundle#end() | " required by Vundle |
| 39 | filetype plugin indent on | " required by Vundle | 61 | filetype plugin indent on | " required by Vundle |
| 40 | "================================================================================ | 62 | "================================================================================ |
| 41 | " custom config | 63 | " custom config |
| 42 | colorscheme coderonline | 64 | colorscheme mac_classic |
| 65 | " colorscheme coderonline | ||
| 43 | syntax enable | 66 | syntax enable |
| 44 | 67 | ||
| 45 | set noswapfile | " noundofile, nobackup, nowritebackup | 68 | set noswapfile | " noundofile, nobackup, nowritebackup |
| @@ -57,7 +80,7 @@ set selection=exclusive | " includes last character of the selection into | |||
| 57 | 80 | ||
| 58 | set whichwrap=b,s,<,>,[,] | " beyond beginning/end line causes cusor to wrap | 81 | set whichwrap=b,s,<,>,[,] | " beyond beginning/end line causes cusor to wrap |
| 59 | set backspace=indent,eol,start| " allow backspacing over everything in insert mode, not needed with whichwrap | 82 | set backspace=indent,eol,start| " allow backspacing over everything in insert mode, not needed with whichwrap |
| 60 | set diffopt+=iwhite,filler | " lets diff ignore white spaces | 83 | set diffopt+=vertical,iwhite,filler | " lets diff ignore white spaces |
| 61 | set spell spelllang=en,de | " enable spell checker | 84 | set spell spelllang=en,de | " enable spell checker |
| 62 | set virtualedit=onemore | " one character beyond the line length should be navigatable (options: all,insert,block,onemore) | 85 | set virtualedit=onemore | " one character beyond the line length should be navigatable (options: all,insert,block,onemore) |
| 63 | set breakindent cpoptions+=n | " when wrapping lines indent wrapped line to align with the previews | 86 | set breakindent cpoptions+=n | " when wrapping lines indent wrapped line to align with the previews |
| @@ -66,6 +89,7 @@ set showcmd | " displays status line messages while selecting | |||
| 66 | set nofoldenable | " do not fold code automatically | 89 | set nofoldenable | " do not fold code automatically |
| 67 | set tags+=~/.vim/systags | " ctags -R -f ~/.vim/systags /usr/include /usr/local/include | 90 | set tags+=~/.vim/systags | " ctags -R -f ~/.vim/systags /usr/include /usr/local/include |
| 68 | set wildmenu wildmode=full | " wildmenu code completion | 91 | set wildmenu wildmode=full | " wildmenu code completion |
| 92 | set guifont="Droid Sans Mono for Powerline 10" | ||
| 69 | 93 | ||
| 70 | " search... | 94 | " search... |
| 71 | set ignorecase smartcase | " if search pattern contains uppercase then search is case sensitive | 95 | set ignorecase smartcase | " if search pattern contains uppercase then search is case sensitive |
| @@ -76,6 +100,10 @@ set novisualbell | " don't beep | |||
| 76 | set noerrorbells | " don't beep | 100 | set noerrorbells | " don't beep |
| 77 | set clipboard=unnamedplus | " makes copy and paste work (autoselectplus might work as well) | 101 | set clipboard=unnamedplus | " makes copy and paste work (autoselectplus might work as well) |
| 78 | set number | " toggle line numbers | 102 | set number | " toggle line numbers |
| 103 | set formatprg=par | " set external formatting program to par, use gwip to format with this | ||
| 104 | set laststatus=2 | " this is required for airline | ||
| 105 | set cmdheight=1 | " controls how many lines the command line has | ||
| 106 | set relativenumber | " displays current lines line no as zero point from where relative numbers are getting counted | ||
| 79 | 107 | ||
| 80 | if has("multi_byte") | 108 | if has("multi_byte") |
| 81 | set encoding=utf-8 | " we need default utf-8 encoding to use cool chars as line break and so on (see below) | 109 | set encoding=utf-8 | " we need default utf-8 encoding to use cool chars as line break and so on (see below) |
| @@ -108,6 +136,7 @@ if has("autocmd") | |||
| 108 | \ setlocal omnifunc=syntaxcomplete#Complete | | 136 | \ setlocal omnifunc=syntaxcomplete#Complete | |
| 109 | \ setlocal completeopt=longest,menuone | | 137 | \ setlocal completeopt=longest,menuone | |
| 110 | \ endif | 138 | \ endif |
| 139 | autocmd FileType html set omnifunc=htmlcomplete#CompleteTags | ||
| 111 | endif | 140 | endif |
| 112 | augroup END | 141 | augroup END |
| 113 | 142 | ||
| @@ -158,6 +187,30 @@ endif | |||
| 158 | 187 | ||
| 159 | "================================================================================ | 188 | "================================================================================ |
| 160 | " custom commands... | 189 | " custom commands... |
| 190 | " | ||
| 191 | " assign selection keys (these i missed a lot) | ||
| 192 | nmap <S-Left> vh| " shift-left selects to the left | ||
| 193 | xmap <S-Left> h| " ^^ | ||
| 194 | nmap <S-Right> vl| " shift-right selects to the right | ||
| 195 | xmap <S-Right> l| " ^^ | ||
| 196 | nmap <S-Up> vk| " shift-up selects like other text editors | ||
| 197 | xmap <S-Up> k| " ^^ | ||
| 198 | nmap <S-Down> vj| " shift down selects like other text editors | ||
| 199 | xmap <S-Down> j| " ^^ | ||
| 200 | nmap <Home> ^| " default homing in code editors is the first letter of a line | ||
| 201 | xmap <Home> 0| " go to the beginning of the line | ||
| 202 | xmap <S-Home> 0| " ^^ | ||
| 203 | xmap <Tab> >gv| " indent lines (and retain selection) | ||
| 204 | xmap <S-Tab> <gv| " unindent lines (and retain selection) | ||
| 205 | nmap <S-PageUp> VH| " selects predessing paragraph | ||
| 206 | nmap <S-PageDown> VL| " selects following paragraph | ||
| 207 | nmap <C-S-PageUp> V{| " selects predessing paragraph | ||
| 208 | nmap <C-S-PageDown> V}| " selects following paragraph | ||
| 209 | |||
| 210 | |||
| 211 | |||
| 212 | |||
| 213 | |||
| 161 | map <C-h> <C-w>h|map <C-j> <C-w>j| " window navigation shortcuts | 214 | map <C-h> <C-w>h|map <C-j> <C-w>j| " window navigation shortcuts |
| 162 | map <C-k> <C-w>k|map <C-l> <C-w>l| " window navigation shortcuts | 215 | map <C-k> <C-w>k|map <C-l> <C-w>l| " window navigation shortcuts |
| 163 | 216 | ||
| @@ -171,15 +224,14 @@ nnoremap j gj|nnoremap k gk| " do not jump over wrapped lines | |||
| 171 | 224 | ||
| 172 | nnoremap $ g$| " and make the $ key position the cursor after the last char of that line, not before | 225 | nnoremap $ g$| " and make the $ key position the cursor after the last char of that line, not before |
| 173 | nnoremap <End> g$| " and make the <End> key position the cursor after the last char of that line | 226 | nnoremap <End> g$| " and make the <End> key position the cursor after the last char of that line |
| 174 | function ExtendedHome() | 227 | " function ExtendedHome() |
| 175 | let column = col('.') | 228 | " let column = col('.') |
| 176 | normal! ^ | 229 | " normal! ^ |
| 177 | if column == col('.') | 230 | " if column == col('.') |
| 178 | normal! 0 | 231 | " normal! 0 |
| 179 | endif | 232 | " endif |
| 180 | endfunction | 233 | " endfunction |
| 181 | noremap <Home> ^ | 234 | " noremap <silent> <Home> :call ExtendedHome()<CR> |
| 182 | noremap <silent> <Home> :call ExtendedHome()<CR> | ||
| 183 | 235 | ||
| 184 | nnoremap <C-z> u | 236 | nnoremap <C-z> u |
| 185 | 237 | ||
| @@ -198,7 +250,6 @@ inoremap <buffer> ( <C-X><C-o><C-p>(| " when opening a bracket: call the OmniCo | |||
| 198 | set makeprg=make\ test | 250 | set makeprg=make\ test |
| 199 | nnoremap <F5> :!make<CR>| " classic key binding: press F5 to compile and execute (if you have a Makefile with make test doing that) | 251 | nnoremap <F5> :!make<CR>| " classic key binding: press F5 to compile and execute (if you have a Makefile with make test doing that) |
| 200 | 252 | ||
| 201 | |||
| 202 | "================================================================================ | 253 | "================================================================================ |
| 203 | " deactivated on-demand commands (just in case one needs them one day) | 254 | " deactivated on-demand commands (just in case one needs them one day) |
| 204 | " | 255 | " |
