diff options
author | Max Christian Pohle | 2017-05-12 23:33:37 +0200 |
---|---|---|
committer | Max Christian Pohle | 2017-05-12 23:33:37 +0200 |
commit | 0ddb7f6ffdae9fb5c7d5936aa0992ef46c8123ca (patch) | |
tree | 5028f05a4b024540541756284e054da00298ed0f | |
parent | 942bd0953c7c9d9c46b8d282b24ce0715968d7b1 (diff) | |
download | vim-karlmarks-0ddb7f6ffdae9fb5c7d5936aa0992ef46c8123ca.tar.bz2 vim-karlmarks-0ddb7f6ffdae9fb5c7d5936aa0992ef46c8123ca.zip |
Python requirement made optional
-rw-r--r-- | vimrc-full | 155 |
1 files changed, 89 insertions, 66 deletions
@@ -1,4 +1,4 @@ | |||
1 | " vim: tabstop=2 softtabstop=2 shiftwidth=2 textwidth=160 | 1 | " vim: tabstop=2 softtabstop=2 shiftwidth=2 textwidth=160 colorcolum=120 |
2 | 2 | ||
3 | set t_Co=256 | " required on some ssh sessions | 3 | set t_Co=256 | " required on some ssh sessions |
4 | " set background=light | " | 4 | " set background=light | " |
@@ -91,14 +91,16 @@ nnoremap <F9> :TagbarToggle<CR>| " bind TagBar to Hotkey Ct | |||
91 | Plug 'vim-airline/vim-airline' | " beautification of the mode line | 91 | Plug 'vim-airline/vim-airline' | " beautification of the mode line |
92 | set laststatus=2 | " required by AirLine, without status line does not appear until a window split | 92 | set laststatus=2 | " required by AirLine, without status line does not appear until a window split |
93 | set background=light | 93 | set background=light |
94 | let g:airline_extensions = ['tabline', 'branch', 'syntastic', 'whitespace'] | 94 | let g:airline_extensions = ['tabline', 'branch', 'syntastic', 'whitespace', 'ycm'] |
95 | let b:airline_whitespace_checks = ['indent', 'trailing', 'long', 'mixed-indent-file'] | 95 | let b:airline_whitespace_checks = ['indent', 'trailing', 'long', 'mixed-indent-file'] |
96 | " let g:airline_section_c = "" | " was: %F | 96 | let g:airline_section_c = "" | " was: %F |
97 | let g:airline#extensions#tagbar#flags = 'f' | " even though the airline extension is off this controls :h tagbar-extend | 97 | let g:airline#extensions#tagbar#flags = 'f' | " even though the airline extension is off this controls :h tagbar-extend |
98 | let g:airline#extensions#tabline#left_sep = ' ' | 98 | let g:airline#extensions#tabline#left_alt_sep = '' |
99 | let g:airline#extensions#tabline#left_alt_sep = ' | ' | 99 | let g:airline#extensions#tabline#left_sep = '' |
100 | let g:airline#extensions#tabline#fnamemod = ':t:.' | " let airline just show the filename without its path | 100 | let g:airline#extensions#tabline#right_alt_sep = '' |
101 | let g:airline#extensions#tabline#disable_refresh = 1 | | 101 | let g:airline#extensions#tabline#right_sep = '' |
102 | let g:airline#extensions#tabline#fnamemod = ':t' | " let airline just show the filename without its path | ||
103 | let g:airline#extensions#tabline#disable_refresh = 0 | | ||
102 | let g:airline#extensions#tabline#enabled = 1 | | 104 | let g:airline#extensions#tabline#enabled = 1 | |
103 | let g:airline#extensions#tabline#show_buffers = 1 | | 105 | let g:airline#extensions#tabline#show_buffers = 1 | |
104 | let g:airline#extensions#tabline#show_tabs = 0 | | 106 | let g:airline#extensions#tabline#show_tabs = 0 | |
@@ -107,10 +109,14 @@ let g:airline#extensions#whitespace#enabled = 1 | | |||
107 | let g:airline#extensions#wordcount#enabled = 0 | | 109 | let g:airline#extensions#wordcount#enabled = 0 | |
108 | let g:airline_detect_modified = 1 | | 110 | let g:airline_detect_modified = 1 | |
109 | let g:airline_detect_paste = 0 | | 111 | let g:airline_detect_paste = 0 | |
110 | let g:airline_exclude_preview = 1 | | 112 | let g:airline_exclude_preview = 0 | |
111 | let g:airline_inactive_collapse = 1 | | 113 | let g:airline_inactive_collapse = 1 | |
112 | let g:airline_powerline_fonts = 1 | | 114 | let g:airline_powerline_fonts = 1 | |
113 | let g:airline_skip_empty_sections = 1 | | 115 | let g:airline_skip_empty_sections = 1 | |
116 | " fixes unneccessary redraw, when e.g. opening Gundo window | ||
117 | let airline#extensions#tabline#ignore_bufadd_pat = | ||
118 | \ '\c\vgundo|undotree|vimfiler|tagbar|nerd_tree|preview|^$' | ||
119 | |||
114 | " AIRLINE_Theme: | 120 | " AIRLINE_Theme: |
115 | Plug 'vim-airline/vim-airline-themes' | " airline themes to match any light and dark terminal using :AirlineTheme | 121 | Plug 'vim-airline/vim-airline-themes' | " airline themes to match any light and dark terminal using :AirlineTheme |
116 | let base16colorspace=256 | 122 | let base16colorspace=256 |
@@ -135,62 +141,65 @@ Plug 'SirVer/ultisnips' " replaces loremipsum (and many m | |||
135 | "let g:UltiSnipsJumpBackwardTrigger = '<PageUp>'| " \ | 141 | "let g:UltiSnipsJumpBackwardTrigger = '<PageUp>'| " \ |
136 | "let g:UltiSnipsListSnippets = '<leader><leader>'| " YouCompleteMe includes those, so this isn't necessary | 142 | "let g:UltiSnipsListSnippets = '<leader><leader>'| " YouCompleteMe includes those, so this isn't necessary |
137 | " | 143 | " |
138 | " YouCompleteMe: ====================================================================================================== | ||
139 | " Plug 'Valloric/MatchTagAlways' " highlights the closing tag/brace/... | ||
140 | Plug 'Valloric/YouCompleteMe' | ||
141 | let g:ycm_add_preview_to_completeopt = 1 " reuse existing preview window | ||
142 | let g:ycm_autoclose_preview_window_after_insertion = 1 | ||
143 | let g:ycm_collect_identifiers_from_tags_files = 1 " Let YCM read tags from Ctags file | ||
144 | let g:ycm_seed_identifiers_with_syntax = 1 " Completion for programming language's keyword | ||
145 | let g:ycm_complete_in_comments = 1 " Completion in comments | ||
146 | let g:ycm_complete_in_strings = 1 " Completion in string | ||
147 | let g:ycm_error_symbol = '✖' " insert this as an error symbol in the gutter bar | ||
148 | let g:ycm_min_num_of_chars_for_completion = 1 | ||
149 | let g:ycm_use_ultisnips_completer = 1 " Default 1, just ensure | ||
150 | let g:ycm_warning_symbol = '➔' " insert this as a warning symbol in the gutter bar | ||
151 | let g:ycm_confirm_extra_conf = 0 " security is overrated | ||
152 | let g:ycm_key_list_select_completion = ['<Down>'] | ||
153 | let g:ycm_key_list_previous_completion = ['<Up>'] | ||
154 | let g:ycm_global_ycm_extra_conf = '~/src/ycm_extra_conf.py' | ||
155 | let g:ycm_semantic_triggers = { 'c': [ 're!.' ] } | ||
156 | let g:ycm_python_binary_path = 'python' " the python interpreter of choice (for code checking) | ||
157 | |||
158 | " disable <tab>-key for YCM so that it can be used with ultisnips | ||
159 | " let g:ycm_key_list_select_completion=[] | ||
160 | " let g:ycm_key_list_previous_completion=[] | ||
161 | " | ||
162 | " Plug 'rdnetto/YCM-Generator' " you better use cmake to generate json build commands, like: | ||
163 | " 'cmake -D CMAKE_EXPORT_COMPILE_COMMANDS=1 ..' can be used to generate a .ycm-extra.conf compatible json file | ||
164 | |||
165 | |||
166 | |||
167 | Plug 'scrooloose/syntastic' | ||
168 | set statusline+=%#warningmsg# | ||
169 | set statusline+=%{SyntasticStatuslineFlag()} | ||
170 | let g:LatexBox_latexmk_preview_continuously = 1 | ||
171 | let g:LatexBox_viewer = "evince" | ||
172 | let g:syntastic_always_populate_loc_list = 1 | ||
173 | let g:syntastic_auto_loc_list = 0 | ||
174 | let g:syntastic_check_on_open = 1 | ||
175 | let g:syntastic_check_on_wq = 0 | ||
176 | let g:syntastic_quiet_messages = {"type":"style"} | ||
177 | " filter ( = do not display) style/formatting errors and warnings | ||
178 | let g:syntastic_error_symbol = '✖' | ||
179 | let g:syntastic_style_error_symbol = '✗' | ||
180 | let g:syntastic_warning_symbol = '➔' | ||
181 | let g:syntastic_style_warning_symbol = '≈' | ||
182 | |||
183 | Plug 'davidhalter/jedi-vim' " jedi gets used to display python function signatures | ||
184 | let g:jedi#completions_enabled = 0 " we do not need completions, because we have YouCompleteMe | ||
185 | let g:jedi#show_call_signatures = 1 " which sadly does not support signatures like jedi | ||
186 | let g:jedi#show_call_signatures_delay = 0 | ||
187 | let g:jedi#auto_vim_configure = 0 | ||
188 | let g:pymode_rope = 0 " https://github.com/davidhalter/jedi-vim/issues/163 | ||
189 | " autocmd FileType python jedi.preload_module('os', 'sys', 'math') | ||
190 | " let g:pymode_options_max_line_length = 120 | ||
191 | " let g:syntastic_python_flake8_args='--ignore=F821,E302,E501,E241,E301' | ||
192 | 144 | ||
145 | if has("python") | ||
146 | " YouCompleteMe: ===================================================================================================== | ||
147 | " Plug 'Valloric/MatchTagAlways' " highlights the closing tag/brace/... | ||
148 | Plug 'Valloric/YouCompleteMe' | ||
149 | let g:ycm_add_preview_to_completeopt = 1 " reuse existing preview window | ||
150 | let g:ycm_autoclose_preview_window_after_insertion = 1 | ||
151 | let g:ycm_collect_identifiers_from_tags_files = 1 " Let YCM read tags from Ctags file | ||
152 | let g:ycm_seed_identifiers_with_syntax = 1 " Completion for programming language's keyword | ||
153 | let g:ycm_complete_in_comments = 1 " Completion in comments | ||
154 | let g:ycm_complete_in_strings = 1 " Completion in string | ||
155 | let g:ycm_error_symbol = '✖' " insert this as an error symbol in the gutter bar | ||
156 | let g:ycm_min_num_of_chars_for_completion = 1 | ||
157 | let g:ycm_use_ultisnips_completer = 1 " Default 1, just ensure | ||
158 | let g:ycm_warning_symbol = '➔' " insert this as a warning symbol in the gutter bar | ||
159 | let g:ycm_confirm_extra_conf = 0 " security is overrated | ||
160 | let g:ycm_key_list_select_completion = ['<Down>'] | ||
161 | let g:ycm_key_list_previous_completion = ['<Up>'] | ||
162 | let g:ycm_global_ycm_extra_conf = '~/src/ycm_extra_conf.py' | ||
163 | let g:ycm_semantic_triggers = { 'c': [ 're!.' ] } | ||
164 | let g:ycm_python_binary_path = 'python' " the python interpreter of choice (for code checking) | ||
165 | |||
166 | " disable <tab>-key for YCM so that it can be used with ultisnips | ||
167 | " let g:ycm_key_list_select_completion=[] | ||
168 | " let g:ycm_key_list_previous_completion=[] | ||
169 | " | ||
170 | " Plug 'rdnetto/YCM-Generator' " you better use cmake to generate json build commands, like: | ||
171 | " 'cmake -D CMAKE_EXPORT_COMPILE_COMMANDS=1 ..' can be used to generate a .ycm-extra.conf compatible json file | ||
172 | |||
173 | |||
174 | " SYNTASTIC: ========================================================================================================= | ||
175 | Plug 'scrooloose/syntastic' | ||
176 | set statusline+=%#warningmsg# | ||
177 | set statusline+=%{SyntasticStatuslineFlag()} | ||
178 | let g:LatexBox_latexmk_preview_continuously = 1 | ||
179 | let g:LatexBox_viewer = "evince" | ||
180 | let g:syntastic_always_populate_loc_list = 1 | ||
181 | let g:syntastic_auto_loc_list = 0 | ||
182 | let g:syntastic_check_on_open = 1 | ||
183 | let g:syntastic_check_on_wq = 0 | ||
184 | let g:syntastic_quiet_messages = {"type":"style"} | ||
185 | " filter ( = do not display) style/formatting errors and warnings | ||
186 | let g:syntastic_error_symbol = '✖' | ||
187 | let g:syntastic_style_error_symbol = '✗' | ||
188 | let g:syntastic_warning_symbol = '➔' | ||
189 | let g:syntastic_style_warning_symbol = '≈' | ||
190 | |||
191 | " JEDI: ============================================================================================================== | ||
192 | Plug 'davidhalter/jedi-vim' " jedi gets used to display python function signatures | ||
193 | let g:jedi#completions_enabled = 0 " we do not need completions, because we have YouCompleteMe | ||
194 | let g:jedi#show_call_signatures = 1 " which sadly does not support signatures like jedi | ||
195 | let g:jedi#show_call_signatures_delay = 0 | ||
196 | let g:jedi#auto_vim_configure = 0 | ||
197 | let g:pymode_rope = 0 " https://github.com/davidhalter/jedi-vim/issues/163 | ||
198 | " autocmd FileType python jedi.preload_module('os', 'sys', 'math') | ||
199 | " let g:pymode_options_max_line_length = 120 | ||
200 | " let g:syntastic_python_flake8_args='--ignore=F821,E302,E501,E241,E301' | ||
193 | 201 | ||
202 | endif | ||
194 | 203 | ||
195 | 204 | ||
196 | call plug#end() | " all plugins are getting loaded on this line, don't remove! | 205 | call plug#end() | " all plugins are getting loaded on this line, don't remove! |
@@ -222,6 +231,7 @@ function! ExtendColorTheme() | |||
222 | highlight! link VertSplit LineNr | 231 | highlight! link VertSplit LineNr |
223 | highlight! SpellBad ctermbg=none | 232 | highlight! SpellBad ctermbg=none |
224 | highlight! SpecialKey ctermfg=19 | 233 | highlight! SpecialKey ctermfg=19 |
234 | highlight! WhiteSpace ctermfg=19 | ||
225 | endfunction | 235 | endfunction |
226 | autocmd ColorScheme * call ExtendColorTheme() | 236 | autocmd ColorScheme * call ExtendColorTheme() |
227 | 237 | ||
@@ -267,6 +277,7 @@ set complete+=i | " scan current and included files for completion | |||
267 | set concealcursor=nc | " limits the display of concealed text to normal and command mode | 277 | set concealcursor=nc | " limits the display of concealed text to normal and command mode |
268 | set conceallevel=2 | " replace escaped chars by their utf-8 representation (useful for LaTeX) | 278 | set conceallevel=2 | " replace escaped chars by their utf-8 representation (useful for LaTeX) |
269 | set confirm | " asks 'do you want to save?' | 279 | set confirm | " asks 'do you want to save?' |
280 | set cpoptions+=P | " makes :w filename set the current buffer to filename | ||
270 | set encoding=utf-8 | " set up vim's cosole encoding (not file encoding, for which there is fileencoding=) | 281 | set encoding=utf-8 | " set up vim's cosole encoding (not file encoding, for which there is fileencoding=) |
271 | set hidden | " allows switiching buffers even if the current buffer contains changes (displays +) | 282 | set hidden | " allows switiching buffers even if the current buffer contains changes (displays +) |
272 | set hlsearch | " highlights all search matches (not as performant!) | 283 | set hlsearch | " highlights all search matches (not as performant!) |
@@ -289,7 +300,7 @@ set relativenumber | " relative line numbers can speed up navigation | |||
289 | set noshowmode | " because we are using some powerline derivat | 300 | set noshowmode | " because we are using some powerline derivat |
290 | set nostartofline | " when scrolling: do not move the cursor to column 1 | 301 | set nostartofline | " when scrolling: do not move the cursor to column 1 |
291 | set notimeout ttimeout | " improves performance but is known to cause problems on slow terminals | 302 | set notimeout ttimeout | " improves performance but is known to cause problems on slow terminals |
292 | set ttimeoutlen=10 | " set esc key timeout in ms- | 303 | set ttimeoutlen=50 | " set esc key timeout in ms- |
293 | set nowrap | " but do not (by default) wrap long lines around | 304 | set nowrap | " but do not (by default) wrap long lines around |
294 | set number | " turn line numbers on/off (performance decreases when they are shown) | 305 | set number | " turn line numbers on/off (performance decreases when they are shown) |
295 | set pumheight=8 | " Determines the maximum number of items to show in the popup menu for | 306 | set pumheight=8 | " Determines the maximum number of items to show in the popup menu for |
@@ -307,11 +318,12 @@ set winminwidth=30 | " (and all other windows, so TODO: watch out) | |||
307 | set tags+=../tags | 318 | set tags+=../tags |
308 | " set textwidth=100 | " line length (80 used to be default, but...) | 319 | " set textwidth=100 | " line length (80 used to be default, but...) |
309 | set textwidth=120 | " better done with modeline | 320 | set textwidth=120 | " better done with modeline |
310 | set colorcolumn= | " not used, because we have a :match directive for textwidth | 321 | " set colorcolumn= | " not used, because we have a :match directive for textwidth |
311 | set ts=4 sts=4 sw=4 expandtab | " better done with a modeline | 322 | set ts=4 sts=4 sw=4 expandtab | " better done with a modeline |
312 | set updatetime=1000 | " updates the screen more often | 323 | set updatetime=1000 | " updates the screen more often |
313 | set writedelay=0 | 324 | set writedelay=0 |
314 | set wildmenu | " use a menu in the command line | 325 | set wildmenu | " use a menu in the command line |
326 | set wildmode=longest:full | " do not preselect any entry and show all possible | ||
315 | "======================================================================================================================= | 327 | "======================================================================================================================= |
316 | 328 | ||
317 | " set fillchars+=stlnc:\― | " | 329 | " set fillchars+=stlnc:\― | " |
@@ -346,7 +358,8 @@ end | |||
346 | 358 | ||
347 | if has('cscope') " compiled with cscope support? | 359 | if has('cscope') " compiled with cscope support? |
348 | " http://vim.wikia.com/wiki/Cscope | 360 | " http://vim.wikia.com/wiki/Cscope |
349 | set cscopetag cscopeverbose | 361 | set cscopetag | " CTRL-] uses cscope instead of tags to search for the symbol |
362 | set cscopeverbose | ||
350 | 363 | ||
351 | if has('quickfix') | 364 | if has('quickfix') |
352 | set cscopequickfix=s-,c-,d-,i-,t-,e- | 365 | set cscopequickfix=s-,c-,d-,i-,t-,e- |
@@ -429,7 +442,7 @@ if has("autocmd") | |||
429 | autocmd FileType vim setlocal keywordprg=:help |. | 442 | autocmd FileType vim setlocal keywordprg=:help |. |
430 | autocmd FileType c,cpp setlocal equalprg=clang-format | 443 | autocmd FileType c,cpp setlocal equalprg=clang-format |
431 | autocmd FileType c,cpp setlocal breakat-=- | 444 | autocmd FileType c,cpp setlocal breakat-=- |
432 | autocmd FileType c,cpp setlocal iskeyword-=_ | 445 | " autocmd FileType c,cpp setlocal iskeyword-=_ |
433 | 446 | ||
434 | " keyboard mapping for xml alike languages | 447 | " keyboard mapping for xml alike languages |
435 | " Alt-Up : Move cursor up one tag | 448 | " Alt-Up : Move cursor up one tag |
@@ -543,6 +556,16 @@ inoremap | |||
543 | vnoremap < <gv | 556 | vnoremap < <gv |
544 | vnoremap > >gv | 557 | vnoremap > >gv |
545 | 558 | ||
559 | " make shift-home select to the beginning of the line | ||
560 | nnoremap <s-home> v^ | ||
561 | nnoremap <s-end> v$ | ||
562 | |||
563 | nnoremap <s-down> vj | ||
564 | vnoremap <s-down> j | ||
565 | nnoremap <s-up> vk | ||
566 | vnoremap <s-up> k | ||
567 | |||
568 | |||
546 | " close current buffer with <leader>q... | 569 | " close current buffer with <leader>q... |
547 | nnoremap <leader>q :bp<bar>sp<bar>bn<bar>bd<CR>. | 570 | nnoremap <leader>q :bp<bar>sp<bar>bn<bar>bd<CR>. |
548 | 571 | ||