diff options
Diffstat (limited to 'vimrc')
-rw-r--r-- | vimrc | 69 |
1 files changed, 42 insertions, 27 deletions
@@ -14,13 +14,15 @@ map <leader>q :bp<bar>sp<bar>bn<bar>bd<CR>. | |||
14 | 14 | ||
15 | " NERDTree: ==========================================. | 15 | " NERDTree: ==========================================. |
16 | Plug 'scrooloose/nerdtree' | " replace NetRW, which is kind of buggy | 16 | Plug 'scrooloose/nerdtree' | " replace NetRW, which is kind of buggy |
17 | let NERDTreeCascadeSingleChildDir = 0 | " I don't get how one can use <m> to create files in that included directory | ||
17 | set winwidth=30 " keep NERDTreeWindow at least this size | 18 | set winwidth=30 " keep NERDTreeWindow at least this size |
18 | set winminwidth=30 " (and all other windows, so TODO: watch out) | 19 | set winminwidth=30 " (and all other windows, so TODO: watch out) |
19 | 20 | ||
21 | autocmd BufEnter * lcd %:p:h | ||
20 | " depending on if NERDTree has the focus: | 22 | " depending on if NERDTree has the focus: |
21 | nnoremap <expr> | 23 | nnoremap <expr> |
22 | \ <leader><leader> | 24 | \ <leader><leader> |
23 | \ bufwinnr("%")==g:NERDTree.GetWinNum() ? ':NERDTreeClose<CR>' : ':NERDTreeCWD<CR>' | 25 | \ bufwinnr("%")==g:NERDTree.GetWinNum() ? ':NERDTreeClose<CR>' : ':NERDTreeFind<CR>' |
24 | nnoremap <expr> | 26 | nnoremap <expr> |
25 | \ <Tab> | 27 | \ <Tab> |
26 | \ bufwinnr("%")==g:NERDTree.GetWinNum() ? '<C-W><C-W>' : ':bn<CR>' | 28 | \ bufwinnr("%")==g:NERDTree.GetWinNum() ? '<C-W><C-W>' : ':bn<CR>' |
@@ -28,8 +30,8 @@ nnoremap <expr> | |||
28 | \ <S-Tab> | 30 | \ <S-Tab> |
29 | \ bufwinnr("%")==g:NERDTree.GetWinNum() ? '<C-W><C-W>' : ':bp<CR>' | 31 | \ bufwinnr("%")==g:NERDTree.GetWinNum() ? '<C-W><C-W>' : ':bp<CR>' |
30 | " close NERDTree if it is the last remaining window (taken from the official documentation) | 32 | " close NERDTree if it is the last remaining window (taken from the official documentation) |
31 | autocmd bufenter * | 33 | " autocmd bufenter * |
32 | \ if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif | 34 | " \ if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif |
33 | 35 | ||
34 | 36 | ||
35 | " AIRLINE: ===========================================. | 37 | " AIRLINE: ===========================================. |
@@ -38,13 +40,13 @@ set laststatus=2 | " required by AirLine, w | |||
38 | let g:airline_detect_modified = 0 | | 40 | let g:airline_detect_modified = 0 | |
39 | let g:airline_detect_paste = 0 | | 41 | let g:airline_detect_paste = 0 | |
40 | let g:airline_exclude_preview = 1 | | 42 | let g:airline_exclude_preview = 1 | |
41 | let g:airline_extensions = ['tabline', 'branch', 'syntastic'] | 43 | let g:airline_extensions = ['tabline', 'branch', 'syntastic', 'tagbar'] |
42 | let g:airline#extensions#tabline#disable_refresh = 1 | | 44 | let g:airline#extensions#tabline#disable_refresh = 1 | |
43 | let g:airline#extensions#tabline#enabled = 1 | | 45 | let g:airline#extensions#tabline#enabled = 1 | |
44 | let g:airline#extensions#tabline#fnamemod = ':t:.' | " let airline just show the filename without its path | 46 | let g:airline#extensions#tabline#fnamemod = ':t:.' | " let airline just show the filename without its path |
45 | let g:airline#extensions#tabline#show_buffers = 1 | | 47 | let g:airline#extensions#tabline#show_buffers = 1 | |
46 | let g:airline#extensions#tabline#show_tabs = 0 | | 48 | let g:airline#extensions#tabline#show_tabs = 0 | |
47 | let g:airline#extensions#tagbar#enabled = 1 | | 49 | let g:airline#extensions#tagbar#enabled = 0 | |
48 | let g:airline#extensions#tagbar#flags = 's' | 50 | let g:airline#extensions#tagbar#flags = 's' |
49 | let g:airline#extensions#whitespace#enabled = 0 | | 51 | let g:airline#extensions#whitespace#enabled = 0 | |
50 | let g:airline#extensions#wordcount#enabled = 0 | | 52 | let g:airline#extensions#wordcount#enabled = 0 | |
@@ -64,26 +66,32 @@ Plug 'sheerun/vim-polyglot' " better syntax highlighti | |||
64 | Plug 'majutsushi/tagbar' " superseeds taglist-plus, which isn't maintained any more | 66 | Plug 'majutsushi/tagbar' " superseeds taglist-plus, which isn't maintained any more |
65 | let g:tagbar_autoclose = 1 | 67 | let g:tagbar_autoclose = 1 |
66 | let g:tagbar_autofocus = 1 | 68 | let g:tagbar_autofocus = 1 |
67 | let g:tagbar_compact = 1 | 69 | let g:tagbar_autoshowtag = 1 |
70 | let g:tagbar_compact = 0 | ||
68 | let g:tagbar_indent = 0 | 71 | let g:tagbar_indent = 0 |
72 | let g:tagbar_foldlevel = 99 | ||
69 | nnoremap <leader>l :TagbarToggle<CR>| " bind TagBar to Hotkey Ctrl+L | 73 | nnoremap <leader>l :TagbarToggle<CR>| " bind TagBar to Hotkey Ctrl+L |
70 | 74 | ||
71 | 75 | ||
72 | " Autocompleter: =====================================. | 76 | " Autocompleter: =====================================. |
73 | Plug 'Valloric/MatchTagAlways' " highlights the closing tag/brace/... | 77 | Plug 'Valloric/MatchTagAlways' " highlights the closing tag/brace/... |
74 | Plug 'Valloric/YouCompleteMe' | 78 | Plug 'Valloric/YouCompleteMe' |
75 | let g:ycm_error_symbol = '✖' " insert this as an error symbol in the gutter bar | ||
76 | let g:ycm_warning_symbol = '➔' " insert this as a warning symbol in the gutter bar | ||
77 | let g:ycm_collect_identifiers_from_tags_files = 1 " Let YCM read tags from Ctags file | 79 | let g:ycm_collect_identifiers_from_tags_files = 1 " Let YCM read tags from Ctags file |
78 | let g:ycm_use_ultisnips_completer = 1 " Default 1, just ensure | ||
79 | let g:ycm_seed_identifiers_with_syntax = 1 " Completion for programming language's keyword | ||
80 | let g:ycm_complete_in_comments = 1 " Completion in comments | 80 | let g:ycm_complete_in_comments = 1 " Completion in comments |
81 | let g:ycm_complete_in_strings = 1 " Completion in string | 81 | let g:ycm_complete_in_strings = 1 " Completion in string |
82 | let g:ycm_error_symbol = '✖' " insert this as an error symbol in the gutter bar | ||
83 | let g:ycm_min_num_of_chars_for_completion = 1 | ||
84 | let g:ycm_seed_identifiers_with_syntax = 1 " Completion for programming language's keyword | ||
85 | let g:ycm_use_ultisnips_completer = 1 " Default 1, just ensure | ||
86 | let g:ycm_warning_symbol = '➔' " insert this as a warning symbol in the gutter bar | ||
87 | |||
88 | |||
82 | 89 | ||
83 | Plug 'scrooloose/syntastic' | 90 | Plug 'scrooloose/syntastic' |
84 | set statusline+=%#warningmsg# | 91 | set statusline+=%#warningmsg# |
85 | set statusline+=%{SyntasticStatuslineFlag()} | 92 | set statusline+=%{SyntasticStatuslineFlag()} |
86 | set statusline+=%* | 93 | set statusline+=%* |
94 | set signcolumn=yes " always show the column | ||
87 | let g:LatexBox_latexmk_preview_continuously = 1 | 95 | let g:LatexBox_latexmk_preview_continuously = 1 |
88 | let g:LatexBox_viewer = "evince" | 96 | let g:LatexBox_viewer = "evince" |
89 | let g:syntastic_always_populate_loc_list = 1 | 97 | let g:syntastic_always_populate_loc_list = 1 |
@@ -130,18 +138,6 @@ syntax on | " enable syntax highlighting | |||
130 | syntax sync minlines=60 | " how many preceding lines will be parsed? (has performance impact) | 138 | syntax sync minlines=60 | " how many preceding lines will be parsed? (has performance impact) |
131 | " set term=xtermc | " required on solaris | 139 | " set term=xtermc | " required on solaris |
132 | 140 | ||
133 | let base16colorspace=256 | ||
134 | colorscheme base16-phd | ||
135 | " colorscheme base16-embers | ||
136 | " colorscheme base16-flat | ||
137 | " colorscheme base16-summerfruit-dark | ||
138 | " colorscheme base16-tommorow | ||
139 | " colorscheme base16-default-dark | ||
140 | |||
141 | |||
142 | " colorscheme customizations ========================= | ||
143 | " override colorscheme's background color in order to honor the terminals background transparency | ||
144 | hi normal ctermbg=none | ||
145 | 141 | ||
146 | 142 | ||
147 | " Shortcut mods =======================================. | 143 | " Shortcut mods =======================================. |
@@ -195,6 +191,7 @@ set thesaurus+=/home/max/.vim/thesaurus/php.txt | |||
195 | set ts=2 sts=2 sw=2 expandtab | " indentation which i like (abbr: tabstop, softtabstop, shiftwidth) | 191 | set ts=2 sts=2 sw=2 expandtab | " indentation which i like (abbr: tabstop, softtabstop, shiftwidth) |
196 | set ttimeoutlen=10 | " set esc key timeout in ms- | 192 | set ttimeoutlen=10 | " set esc key timeout in ms- |
197 | set ttyfast | " improves speed for terminal vim | 193 | set ttyfast | " improves speed for terminal vim |
194 | set updatetime=1000 | " updates the screen more often | ||
198 | set ttyscroll=100 | " improves speed for terminal vim | 195 | set ttyscroll=100 | " improves speed for terminal vim |
199 | set writedelay=0 | 196 | set writedelay=0 |
200 | " set termguicolors | " When on, uses highlight-guifg and highlight-guibg attributes in the terminal (=24bit color) | 197 | " set termguicolors | " When on, uses highlight-guifg and highlight-guibg attributes in the terminal (=24bit color) |
@@ -207,6 +204,7 @@ if has("multi_byte") | |||
207 | set listchars+=precedes:« | " symbols used when using :set list (which displays non-printable chars) | 204 | set listchars+=precedes:« | " symbols used when using :set list (which displays non-printable chars) |
208 | set listchars+=tab:▸\ | " symbols used when using :set list (which displays non-printable chars) | 205 | set listchars+=tab:▸\ | " symbols used when using :set list (which displays non-printable chars) |
209 | set listchars+=trail:· | " symbols used when using :set list (which displays non-printable chars) | 206 | set listchars+=trail:· | " symbols used when using :set list (which displays non-printable chars) |
207 | set listchars+=space:· | " symbols used when using :set list (which displays non-printable chars) | ||
210 | set showbreak+=› | " symbol used in the beginning of a wrapped line | 208 | set showbreak+=› | " symbol used in the beginning of a wrapped line |
211 | end | 209 | end |
212 | 210 | ||
@@ -247,8 +245,9 @@ if has("autocmd") | |||
247 | augroup set_window_title " { | 245 | augroup set_window_title " { |
248 | " autocmd BufWinEnter quickfix setl statusline=%t | 246 | " autocmd BufWinEnter quickfix setl statusline=%t |
249 | " autocmd BufEnter * let &titlestring = hostname() . "[vim(" . expand("%:t") . ")]" | 247 | " autocmd BufEnter * let &titlestring = hostname() . "[vim(" . expand("%:t") . ")]" |
250 | autocmd BufEnter * let &titlestring = "%t|".$USER."@".hostname().":%{expand(\"%:~:.:h\")}%=%y" | 248 | autocmd CursorHold * let &titlestring = "%t|".$USER."@".hostname().":%{expand(\"%:~:.:h\")}%=%y" |
251 | 249 | set title | |
250 | " autocmd CursorHold * let &titlestring = "Vim (".airline#extensions#tagbar#currenttag().")" | ||
252 | 251 | ||
253 | " set window title for screen(3) | 252 | " set window title for screen(3) |
254 | if &term == "screen" | 253 | if &term == "screen" |
@@ -262,10 +261,12 @@ if has("autocmd") | |||
262 | augroup END | 261 | augroup END |
263 | 262 | ||
264 | augroup visual_mode_shows_unprintable " { | 263 | augroup visual_mode_shows_unprintable " { |
265 | set nolist | " shows unprinable characters in the current line | ||
266 | " set cursorline | " use setcursorline in order to highlight non printable chars in the current line | 264 | " set cursorline | " use setcursorline in order to highlight non printable chars in the current line |
267 | autocmd ColorScheme * highlight NonText ctermbg=0 gui=bold guifg=#061229 | 265 | autocmd ColorScheme * highlight normal ctermbg=NONE |
268 | autocmd ColorScheme * highlight CursorLineNr term=bold ctermfg=Yellow gui=bold guifg=Yellow | 266 | " set list | " shows unprinable characters in the current line |
267 | autocmd ColorScheme * highlight NonText ctermbg=NONE ctermfg=0 gui=bold guifg=NONE | ||
268 | autocmd ColorScheme * highlight SpecialKey ctermbg=NONE ctermfg=0 gui=bold guifg=NONE | ||
269 | " autocmd ColorScheme * highlight CursorLineNr term=bold ctermbg=NONE ctermfg=0 gui=bold guifg=Yellow | ||
269 | " | 270 | " |
270 | " | 271 | " |
271 | " highlight NonText guifg=#1d1f21 | " make non printable chars invisible. The active line is an exception. | 272 | " highlight NonText guifg=#1d1f21 | " make non printable chars invisible. The active line is an exception. |
@@ -301,6 +302,20 @@ if has("autocmd") | |||
301 | endif | 302 | endif |
302 | 303 | ||
303 | 304 | ||
305 | let base16colorspace=256 | ||
306 | colorscheme base16-phd | ||
307 | " colorscheme base16-embers | ||
308 | " colorscheme base16-flat | ||
309 | " colorscheme base16-summerfruit-dark | ||
310 | " colorscheme base16-tommorow | ||
311 | " colorscheme base16-default-dark | ||
312 | |||
313 | |||
314 | " colorscheme customizations ========================= | ||
315 | " override colorscheme's background color in order to honor the terminals background transparency | ||
316 | |||
317 | |||
318 | |||
304 | " if filereadable(expand("~/.vimrc_background")) | 319 | " if filereadable(expand("~/.vimrc_background")) |
305 | " let base16colorspace=256 | 320 | " let base16colorspace=256 |
306 | " source ~/.vimrc_background | 321 | " source ~/.vimrc_background |