diff options
| -rw-r--r-- | after/syntax/c.vim | 25 | ||||
| -rw-r--r-- | ftplugin/c.vim | 9 | ||||
| -rw-r--r-- | vimrc-full | 15 |
3 files changed, 38 insertions, 11 deletions
diff --git a/after/syntax/c.vim b/after/syntax/c.vim new file mode 100644 index 0000000..ca694a2 --- /dev/null +++ b/after/syntax/c.vim | |||
| @@ -0,0 +1,25 @@ | |||
| 1 | set number | ||
| 2 | set foldenable | ||
| 3 | set foldmethod=syntax | ||
| 4 | |||
| 5 | " syntax match cType "struct\s+[A-Za-z0-9_]+\>" | ||
| 6 | " syn clear cStructure | ||
| 7 | " highlight! link defines Special | ||
| 8 | syntax match Define "\<[A-Z][A-Z0-9_]*\>" | ||
| 9 | syntax match Todo "\/\/ @[A-Z]*\:.*$" | ||
| 10 | |||
| 11 | " clear default group for a cBlock so we can redefine it without the fold option | ||
| 12 | syn clear cBlock | ||
| 13 | syn region cBlock start=/{/ end=/}/ transparent | ||
| 14 | |||
| 15 | " multiple single line comments in a row | ||
| 16 | syn match cComment /\v\/\/.*(\_.\/\/.*)+/ fold | ||
| 17 | |||
| 18 | |||
| 19 | |||
| 20 | |||
| 21 | " let b:current_syntax = "c" | ||
| 22 | " let g:polyglot_disabled = ['c/c++'] | ||
| 23 | " unlet s:ft | ||
| 24 | " let &cpo = s:cpo_save | ||
| 25 | " unlet s:cpo_save | ||
diff --git a/ftplugin/c.vim b/ftplugin/c.vim deleted file mode 100644 index 12ba001..0000000 --- a/ftplugin/c.vim +++ /dev/null | |||
| @@ -1,9 +0,0 @@ | |||
| 1 | set number | ||
| 2 | |||
| 3 | syntax match Define "\<[A-Z][A-Z0-9_]*\>" | ||
| 4 | syntax match Todo "\/\/ @[A-Z]*\:.*$" | ||
| 5 | |||
| 6 | " syntax match cType "struct\s+[A-Za-z0-9_]+\>" | ||
| 7 | " syn clear cStructure | ||
| 8 | " highlight! link defines Special | ||
| 9 | |||
| @@ -41,7 +41,7 @@ if has("multi_byte") | |||
| 41 | set encoding=utf-8 | " we need default UTF-8 encoding to use cool chars as line break and so on (see below) | 41 | set encoding=utf-8 | " we need default UTF-8 encoding to use cool chars as line break and so on (see below) |
| 42 | let &termencoding=&encoding | " once we use special chars we assume everybody uses a terminal supporting those | 42 | let &termencoding=&encoding | " once we use special chars we assume everybody uses a terminal supporting those |
| 43 | 43 | ||
| 44 | set fillchars+=fold:\— | " | 44 | set fillchars+=fold:\ | " |
| 45 | set fillchars+=vert:\║ | " cool vertical split char | 45 | set fillchars+=vert:\║ | " cool vertical split char |
| 46 | set fillchars+=diff:\ | " a white space gets used here | 46 | set fillchars+=diff:\ | " a white space gets used here |
| 47 | 47 | ||
| @@ -223,7 +223,9 @@ set foldcolumn=0 | " I think I don't need this second indicator | |||
| 223 | " set foldmethod=syntax | " foldlevel: syntax, indent, manual / foldmethod=syntax makes Vim incredible slow | 223 | " set foldmethod=syntax | " foldlevel: syntax, indent, manual / foldmethod=syntax makes Vim incredible slow |
| 224 | set foldnestmax=1 | " top level folding only | 224 | set foldnestmax=1 | " top level folding only |
| 225 | set foldopen=block,hor,search | " when do we unfold? | 225 | set foldopen=block,hor,search | " when do we unfold? |
| 226 | set foldtext=Foldtext() | " | 226 | let v:foldstart = "FOO" |
| 227 | " set foldtext=Foldtext() | " | ||
| 228 | set foldtext=v:folddashes.substitute(getline(v:foldstart),'\\v^/[/*]\','','g') | ||
| 227 | 229 | ||
| 228 | " vim window behaviour | 230 | " vim window behaviour |
| 229 | set splitbelow | " open new windows below the current one (i find that more intuitive) | 231 | set splitbelow | " open new windows below the current one (i find that more intuitive) |
| @@ -365,6 +367,12 @@ if has("autocmd") | |||
| 365 | autocmd FileType vim setlocal keywordprg=:help |. | 367 | autocmd FileType vim setlocal keywordprg=:help |. |
| 366 | autocmd FileType c,cpp setlocal equalprg=clang-format | 368 | autocmd FileType c,cpp setlocal equalprg=clang-format |
| 367 | autocmd FileType c,cpp setlocal breakat-=- | 369 | autocmd FileType c,cpp setlocal breakat-=- |
| 370 | |||
| 371 | if filereadable("/usr/bin/vendor_perl/ack") | ||
| 372 | autocmd FileType c,cpp set grepprg=/usr/bin/vendor_perl/ack\ --type=cc\ --nogroup\ --column\ $* | ||
| 373 | autocmd FileType c,cpp set grepformat=%f:%l:%c:%m | ||
| 374 | endif | ||
| 375 | |||
| 368 | autocmd BufWinEnter * if &previewwindow | setlocal nonumber signcolumn=no filetype=c nobuflisted | endif | 376 | autocmd BufWinEnter * if &previewwindow | setlocal nonumber signcolumn=no filetype=c nobuflisted | endif |
| 369 | 377 | ||
| 370 | 378 | ||
| @@ -373,6 +381,9 @@ if has("autocmd") | |||
| 373 | " the following helps to make file=/etc/something work with gf, but disallows filenames with an equal sign in them | 381 | " the following helps to make file=/etc/something work with gf, but disallows filenames with an equal sign in them |
| 374 | autocmd FileType conf setlocal isfname-== | 382 | autocmd FileType conf setlocal isfname-== |
| 375 | 383 | ||
| 384 | |||
| 385 | autocmd Filetype css command! CSSsort :g/{/+1;/}/-1 sort | ||
| 386 | |||
| 376 | " keyboard mapping for xml alike languages | 387 | " keyboard mapping for xml alike languages |
| 377 | " Alt-Up : Move cursor up one tag | 388 | " Alt-Up : Move cursor up one tag |
| 378 | " Alt-Down: Move cursor down one tag | 389 | " Alt-Down: Move cursor down one tag |
