From 16938a57453b769490fde0372407ae169de519ab Mon Sep 17 00:00:00 2001 From: Audric Schiltknecht Date: Wed, 10 Oct 2012 22:12:38 +0200 Subject: Add "basic" vim configuration --- vim/.vim/specific/cpp.vim | 28 +++++++ vim/.vim/specific/cxx.vim | 25 ++++++ vim/.vim/specific/ddl.vim | 1 + vim/.vim/specific/egg.vim | 1 + vim/.vim/specific/html.vim | 1 + vim/.vim/specific/java.vim | 1 + vim/.vim/specific/js.vim | 1 + vim/.vim/specific/mp.vim | 1 + vim/.vim/specific/pro.vim | 1 + vim/.vim/specific/py.vim | 201 +++++++++++++++++++++++++++++++++++++++++++++ vim/.vim/specific/tex.vim | 10 +++ vim/.vim/specific/tla.vim | 2 + vim/.vim/specific/xml.vim | 1 + 13 files changed, 274 insertions(+) create mode 100644 vim/.vim/specific/cpp.vim create mode 100644 vim/.vim/specific/cxx.vim create mode 100644 vim/.vim/specific/ddl.vim create mode 100644 vim/.vim/specific/egg.vim create mode 100644 vim/.vim/specific/html.vim create mode 100644 vim/.vim/specific/java.vim create mode 100644 vim/.vim/specific/js.vim create mode 100644 vim/.vim/specific/mp.vim create mode 100644 vim/.vim/specific/pro.vim create mode 100644 vim/.vim/specific/py.vim create mode 100644 vim/.vim/specific/tex.vim create mode 100644 vim/.vim/specific/tla.vim create mode 100644 vim/.vim/specific/xml.vim (limited to 'vim/.vim/specific') diff --git a/vim/.vim/specific/cpp.vim b/vim/.vim/specific/cpp.vim new file mode 100644 index 0000000..4dfe592 --- /dev/null +++ b/vim/.vim/specific/cpp.vim @@ -0,0 +1,28 @@ +map :!ctags * --c-types=+p --c++-kinds=+p --fields=+iaS --extra=+q . +set tags+=$HOME/.vim/tags/stdlib.tags +set completeopt=menu +let OmniCpp_SelectFirstItem = 2 + + +" Vim syntax file +" Language: C++ special highlighting for STL classes and methods +" Maintainer: Jean-Francois Guchens (thanks to Nathan Skvirsky) +" Last Change: 2008 May 02 + +syn keyword cppSTL abort abs accumulate acos adjacent_difference adjacent_find adjacent_find_if any append asctime asin assert assign at atan atan2 atexit atof atoi atol back back_inserter bad bad_alloc bad_cast bad_exception bad_typeid badbit beg begin binary_compose binary_negate binary_search bind2nd binder1st binder2nd bitset bsearch c_str calloc capacity ceil cerr cin clear clearerr clock clog close compare compose1 compose2 construct copy copy_backward copy_n cos cosh count count_if cout ctime data destroy difference_type difftime div domain_error empty end endl eof eofbit equal equal_range erase exception exit exp fabs fail failbit failure fclose feof ferror fflush fgetc fgetpos fgets fill fill_n find find_end find_first_not_of find_first_of find_if find_last_not_of find_last_of first flags flip floor flush fmod fopen for_each fprintf fputc fputs fread free freopen frexp front fscanf fseek fsetpos ftell fwrite gcount generate generate_n get get_temporary_buffer getc getchar getenv getline gets gmtime good goodbit greater greater_equal ignore in includes inner_product inplace_merge insert inserter invalid_argument ios ios_base iostate iota is_heap is_open is_sorted isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit iter_swap iterator_category key_comp ldiv length length_error less less_equal lexicographical_compare lexicographical_compare_3way localtime log log10 logic_error logical_and logical_not logical_or longjmp lower_bound make_heap malloc max max_element max_size mem_fun mem_fun1 mem_fun1_ref mem_fun_ref memchr memcpy memmove memset merge min min_element minus mismatch mktime modf modulus multiplies negate next_permutation npos nth_element numeric_limits open out_of_range overflow_error partial_sort partial_sort_copy partial_sum partition peek perror plus pop pop_back pop_front pop_heap pow power precision prev_permutation printf ptr_fun push push_back push_front push_heap put putback putc putchar puts qsort raise rand random_sample random_sample_n random_shuffle range_error rbegin rdbuf rdstate read realloc reference remove remove_copy remove_copy_if remove_if rename rend replace replace_copy replace_copy_if replace_if reserve reset resize return_temporary_buffer reverse reverse_copy rewind rfind rotate rotate_copy runtime_error scanf search search_n second seekg seekp set_difference set_intersection set_symmetric_difference set_union setbuf setf setjmp setlocale setvbuf signal sin sinh size size_t size_type sort sort_heap splice sprintf sqrt srand sscanf stable_partition stable_sort std str strcat strchr strcmp strcoll strcpy strcspn strerror strftime string strlen strncat strncmp strncpy strpbrk strrchr strspn strstr strtod strtok strtol strtoul strxfrm substr swap swap_ranges sync_with_stdio system tan tanh tellg tellp test time time_t tmpfile tmpnam to_string to_ulong tolower top toupper transform unary_compose unary_negate underflow_error unget ungetc uninitialized_copy uninitialized_copy_n uninitialized_fill uninitialized_fill_n unique unique_copy unsetf upper_bound va_arg value_comp value_type vfprintf vprintf vsprintf width write + +syn keyword cppSTLtype istreambuf_iterator filebuf string ofstream ifstream stream istream_iterator istringstream ostream ostream_iterator ostringstream fstream auto_ptr pointer pointer_to_binary_function pointer_to_unary_function basic_string bit_vector bitset char_producer deque hash hash_map hash_multimap hash_multiset hash_set list map multimap multiset queue priority_queue rope set stack vector back_insert_iterator iterator bidirectional_iterator bidirectional_iterator_tag forward_iterator forward_iterator_tag front_insert_iterator input_iterator input_iterator_tag insert_iterator istream_iterator iterator_traits ostream_iterator output_iterator output_iterator_tag random_access_iterator random_access_iterator_tag raw_storage_iterator reverse_bidirectional_iterator reverse_iterator sequence_buffer binary_compose binary_function binary_negate binder1st binder2nd divides equal_to unary_compose unary_function unary_negate pair char_traits const_iterator reverse_iterator temporary_buffer + +" Default highlighting +if version >= 508 || !exists("did_cpp_syntax_inits") + if version < 508 + let did_cpp_syntax_inits = 1 + command -nargs=+ HiLink hi link + else + command -nargs=+ HiLink hi def link + endif + HiLink cppSTL Identifier + HiLink cppSTLtype Type + delcommand HiLink +endif + diff --git a/vim/.vim/specific/cxx.vim b/vim/.vim/specific/cxx.vim new file mode 100644 index 0000000..6aada59 --- /dev/null +++ b/vim/.vim/specific/cxx.vim @@ -0,0 +1,25 @@ +set completeopt=menu +let OmniCpp_SelectFirstItem = 2 + +" Vim syntax file +" Language: C++ special highlighting for STL classes and methods +" Maintainer: Jean-Francois Guchens (thanks to Nathan Skvirsky) +" Last Change: 2008 May 02 + +syn keyword cppSTL abort abs accumulate acos adjacent_difference adjacent_find adjacent_find_if any append asctime asin assert assign at atan atan2 atexit atof atoi atol back back_inserter bad bad_alloc bad_cast bad_exception bad_typeid badbit beg begin binary_compose binary_negate binary_search bind2nd binder1st binder2nd bitset bsearch c_str calloc capacity ceil cerr cin clear clearerr clock clog close compare compose1 compose2 construct copy copy_backward copy_n cos cosh count count_if cout ctime data destroy difference_type difftime div domain_error empty end endl eof eofbit equal equal_range erase exception exit exp fabs fail failbit failure fclose feof ferror fflush fgetc fgetpos fgets fill fill_n find find_end find_first_not_of find_first_of find_if find_last_not_of find_last_of first flags flip floor flush fmod fopen for_each fprintf fputc fputs fread free freopen frexp front fscanf fseek fsetpos ftell fwrite gcount generate generate_n get get_temporary_buffer getc getchar getenv getline gets gmtime good goodbit greater greater_equal ignore in includes inner_product inplace_merge insert inserter invalid_argument ios ios_base iostate iota is_heap is_open is_sorted isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit iter_swap iterator_category key_comp ldiv length length_error less less_equal lexicographical_compare lexicographical_compare_3way localtime log log10 logic_error logical_and logical_not logical_or longjmp lower_bound make_heap malloc max max_element max_size mem_fun mem_fun1 mem_fun1_ref mem_fun_ref memchr memcpy memmove memset merge min min_element minus mismatch mktime modf modulus multiplies negate next_permutation npos nth_element numeric_limits open out_of_range overflow_error partial_sort partial_sort_copy partial_sum partition peek perror plus pop pop_back pop_front pop_heap pow power precision prev_permutation printf ptr_fun push push_back push_front push_heap put putback putc putchar puts qsort raise rand random_sample random_sample_n random_shuffle range_error rbegin rdbuf rdstate read realloc reference remove remove_copy remove_copy_if remove_if rename rend replace replace_copy replace_copy_if replace_if reserve reset resize return_temporary_buffer reverse reverse_copy rewind rfind rotate rotate_copy runtime_error scanf search search_n second seekg seekp set_difference set_intersection set_symmetric_difference set_union setbuf setf setjmp setlocale setvbuf signal sin sinh size size_t size_type sort sort_heap splice sprintf sqrt srand sscanf stable_partition stable_sort std str strcat strchr strcmp strcoll strcpy strcspn strerror strftime string strlen strncat strncmp strncpy strpbrk strrchr strspn strstr strtod strtok strtol strtoul strxfrm substr swap swap_ranges sync_with_stdio system tan tanh tellg tellp test time time_t tmpfile tmpnam to_string to_ulong tolower top toupper transform unary_compose unary_negate underflow_error unget ungetc uninitialized_copy uninitialized_copy_n uninitialized_fill uninitialized_fill_n unique unique_copy unsetf upper_bound va_arg value_comp value_type vfprintf vprintf vsprintf width write + +syn keyword cppSTLtype istreambuf_iterator filebuf string ofstream ifstream stream istream_iterator istringstream ostream ostream_iterator ostringstream fstream auto_ptr pointer pointer_to_binary_function pointer_to_unary_function basic_string bit_vector bitset char_producer deque hash hash_map hash_multimap hash_multiset hash_set list map multimap multiset queue priority_queue rope set stack vector back_insert_iterator iterator bidirectional_iterator bidirectional_iterator_tag forward_iterator forward_iterator_tag front_insert_iterator input_iterator input_iterator_tag insert_iterator istream_iterator iterator_traits ostream_iterator output_iterator output_iterator_tag random_access_iterator random_access_iterator_tag raw_storage_iterator reverse_bidirectional_iterator reverse_iterator sequence_buffer binary_compose binary_function binary_negate binder1st binder2nd divides equal_to unary_compose unary_function unary_negate pair char_traits const_iterator reverse_iterator temporary_buffer + +" Default highlighting +if version >= 508 || !exists("did_cpp_syntax_inits") + if version < 508 + let did_cpp_syntax_inits = 1 + command -nargs=+ HiLink hi link + else + command -nargs=+ HiLink hi def link + endif + HiLink cppSTL Identifier + HiLink cppSTLtype Type + delcommand HiLink +endif + diff --git a/vim/.vim/specific/ddl.vim b/vim/.vim/specific/ddl.vim new file mode 100644 index 0000000..31b9c56 --- /dev/null +++ b/vim/.vim/specific/ddl.vim @@ -0,0 +1 @@ +set filetype=sql diff --git a/vim/.vim/specific/egg.vim b/vim/.vim/specific/egg.vim new file mode 100644 index 0000000..137b3bd --- /dev/null +++ b/vim/.vim/specific/egg.vim @@ -0,0 +1 @@ +setf egg diff --git a/vim/.vim/specific/html.vim b/vim/.vim/specific/html.vim new file mode 100644 index 0000000..6c65216 --- /dev/null +++ b/vim/.vim/specific/html.vim @@ -0,0 +1 @@ +map :%w !xmllint --valid --noout - diff --git a/vim/.vim/specific/java.vim b/vim/.vim/specific/java.vim new file mode 100644 index 0000000..8e94e99 --- /dev/null +++ b/vim/.vim/specific/java.vim @@ -0,0 +1 @@ +let java_highlight_functions="style" diff --git a/vim/.vim/specific/js.vim b/vim/.vim/specific/js.vim new file mode 100644 index 0000000..3829e28 --- /dev/null +++ b/vim/.vim/specific/js.vim @@ -0,0 +1 @@ +set ft=javascript.jquery diff --git a/vim/.vim/specific/mp.vim b/vim/.vim/specific/mp.vim new file mode 100644 index 0000000..3202f68 --- /dev/null +++ b/vim/.vim/specific/mp.vim @@ -0,0 +1 @@ +set nospell diff --git a/vim/.vim/specific/pro.vim b/vim/.vim/specific/pro.vim new file mode 100644 index 0000000..202f824 --- /dev/null +++ b/vim/.vim/specific/pro.vim @@ -0,0 +1 @@ +set filetype=prolog diff --git a/vim/.vim/specific/py.vim b/vim/.vim/specific/py.vim new file mode 100644 index 0000000..dcd9ced --- /dev/null +++ b/vim/.vim/specific/py.vim @@ -0,0 +1,201 @@ +" Python indent file +" Language: Python +" Maintainer: Eric Mc Sween +" Original Author: David Bustos +" Last Change: 2004 Jun 07 + +" Only load this indent file when no other was loaded. +if exists("b:did_indent") + finish +endif +let b:did_indent = 1 + +setlocal expandtab +setlocal nolisp +"setlocal autoindent +setlocal shiftwidth=4 +setlocal tabstop=4 +setlocal indentexpr=GetPythonIndent(v:lnum) +setlocal indentkeys=!^F,o,O,<:>,0),0],0},=elif,=except +"Retour à la ligne auto au bout de 80 lignes +setlocal textwidth=80 + +let s:maxoff = 50 + +" Find backwards the closest open parenthesis/bracket/brace. +function! s:SearchParensPair() + let line = line('.') + let col = col('.') + + " Skip strings and comments and don't look too far + let skip = "line('.') < " . (line - s:maxoff) . " ? dummy :" . + \ 'synIDattr(synID(line("."), col("."), 0), "name") =~? ' . + \ '"string\\|comment"' + + " Search for parentheses + call cursor(line, col) + let parlnum = searchpair('(', '', ')', 'bW', skip) + let parcol = col('.') + + " Search for brackets + call cursor(line, col) + let par2lnum = searchpair('\[', '', '\]', 'bW', skip) + let par2col = col('.') + + " Search for braces + call cursor(line, col) + let par3lnum = searchpair('{', '', '}', 'bW', skip) + let par3col = col('.') + + " Get the closest match + if par2lnum > parlnum || (par2lnum == parlnum && par2col > parcol) + let parlnum = par2lnum + let parcol = par2col + endif + if par3lnum > parlnum || (par3lnum == parlnum && par3col > parcol) + let parlnum = par3lnum + let parcol = par3col + endif + + " Put the cursor on the match + if parlnum > 0 + call cursor(parlnum, parcol) + endif + return parlnum +endfunction + +" Find the start of a multi-line statement +function! s:StatementStart(lnum) + let lnum = a:lnum + while 1 + if getline(lnum - 1) =~ '\\$' + let lnum = lnum - 1 + else + call cursor(lnum, 1) + let maybe_lnum = s:SearchParensPair() + if maybe_lnum < 1 + return lnum + else + let lnum = maybe_lnum + endif + endif + endwhile +endfunction + +" Find the block starter that matches the current line +function! s:BlockStarter(lnum, block_start_re) + let lnum = a:lnum + let maxindent = 10000 " whatever + while lnum > 1 + let lnum = prevnonblank(lnum - 1) + if indent(lnum) < maxindent + if getline(lnum) =~ a:block_start_re + return lnum + else + let maxindent = indent(lnum) + " It's not worth going further if we reached the top level + if maxindent == 0 + return -1 + endif + endif + endif + endwhile + return -1 +endfunction + +function! GetPythonIndent(lnum) + + " First line has indent 0 + if a:lnum == 1 + return 0 + endif + + " If we can find an open parenthesis/bracket/brace, line up with it. + call cursor(a:lnum, 1) + let parlnum = s:SearchParensPair() + if parlnum > 0 + let parcol = col('.') + let closing_paren = match(getline(a:lnum), '^\s*[])}]') != -1 + if match(getline(parlnum), '[([{]\s*$', parcol - 1) != -1 + if closing_paren + return indent(parlnum) + else + return indent(parlnum) + &shiftwidth + endif + else + if closing_paren + return parcol - 1 + else + return parcol + endif + endif + endif + + " Examine this line + let thisline = getline(a:lnum) + let thisindent = indent(a:lnum) + + " If the line starts with 'elif' or 'else', line up with 'if' or 'elif' + if thisline =~ '^\s*\(elif\|else\)\>' + let bslnum = s:BlockStarter(a:lnum, '^\s*\(if\|elif\)\>') + if bslnum > 0 + return indent(bslnum) + else + return -1 + endif + endif + + " If the line starts with 'except' or 'finally', line up with 'try' + " or 'except' + if thisline =~ '^\s*\(except\|finally\)\>' + let bslnum = s:BlockStarter(a:lnum, '^\s*\(try\|except\)\>') + if bslnum > 0 + return indent(bslnum) + else + return -1 + endif + endif + + " Examine previous line + let plnum = a:lnum - 1 + let pline = getline(plnum) + let sslnum = s:StatementStart(plnum) + + " If the previous line is blank, keep the same indentation + if pline =~ '^\s*$' + return -1 + endif + + " If this line is explicitly joined, try to find an indentation that looks + " good. + if pline =~ '\\$' + let compound_statement = '^\s*\(if\|while\|for\s.*\sin\|except\)\s*' + let maybe_indent = matchend(getline(sslnum), compound_statement) + if maybe_indent != -1 + return maybe_indent + else + return indent(sslnum) + &sw * 2 + endif + endif + + " If the previous line ended with a colon, indent relative to + " statement start. + if pline =~ ':\s*$' + return indent(sslnum) + &sw + endif + + " If the previous line was a stop-execution statement or a pass + if getline(sslnum) =~ '^\s*\(break\|continue\|raise\|return\|pass\)\>' + " See if the user has already dedented + if indent(a:lnum) > indent(sslnum) - &sw + " If not, recommend one dedent + return indent(sslnum) - &sw + endif + " Otherwise, trust the user + return -1 + endif + + " In all other cases, line up with the start of the previous statement. + return indent(sslnum) +endfunction + diff --git a/vim/.vim/specific/tex.vim b/vim/.vim/specific/tex.vim new file mode 100644 index 0000000..204235a --- /dev/null +++ b/vim/.vim/specific/tex.vim @@ -0,0 +1,10 @@ +" this is mostly a matter of taste. but LaTeX looks good with just a bit +" of indentation. +set sw=2 +set softtabstop=2 +" TIP: if you write your \label's as \label{fig:something}, then if you +" type in \ref{fig: and press you will automatically cycle through +" all the figure labels. Very useful! +set iskeyword+=: + +set makeprg=pdflatex\ -shell-escape\ % diff --git a/vim/.vim/specific/tla.vim b/vim/.vim/specific/tla.vim new file mode 100644 index 0000000..9629698 --- /dev/null +++ b/vim/.vim/specific/tla.vim @@ -0,0 +1,2 @@ +set syntax=vhdl +set nospell diff --git a/vim/.vim/specific/xml.vim b/vim/.vim/specific/xml.vim new file mode 100644 index 0000000..3202f68 --- /dev/null +++ b/vim/.vim/specific/xml.vim @@ -0,0 +1 @@ +set nospell -- cgit v1.2.3-70-g09d2