summaryrefslogtreecommitdiffstats
path: root/vim/.vim/specific
diff options
context:
space:
mode:
authorAudric Schiltknecht <storm@chemicalstorm.org>2012-10-10 22:12:38 +0200
committerAudric Schiltknecht <storm@chemicalstorm.org>2012-10-10 22:12:38 +0200
commit16938a57453b769490fde0372407ae169de519ab (patch)
tree3a083df1bf87941b430e6101bc7a3a977ad8d290 /vim/.vim/specific
parent048df48526e1b8f5176319f79aaa6276906556bd (diff)
downloaddotfiles-16938a57453b769490fde0372407ae169de519ab.tar.gz
dotfiles-16938a57453b769490fde0372407ae169de519ab.tar.bz2
dotfiles-16938a57453b769490fde0372407ae169de519ab.zip
Add "basic" vim configuration
Diffstat (limited to 'vim/.vim/specific')
-rw-r--r--vim/.vim/specific/cpp.vim28
-rw-r--r--vim/.vim/specific/cxx.vim25
-rw-r--r--vim/.vim/specific/ddl.vim1
-rw-r--r--vim/.vim/specific/egg.vim1
-rw-r--r--vim/.vim/specific/html.vim1
-rw-r--r--vim/.vim/specific/java.vim1
-rw-r--r--vim/.vim/specific/js.vim1
-rw-r--r--vim/.vim/specific/mp.vim1
-rw-r--r--vim/.vim/specific/pro.vim1
-rw-r--r--vim/.vim/specific/py.vim201
-rw-r--r--vim/.vim/specific/tex.vim10
-rw-r--r--vim/.vim/specific/tla.vim2
-rw-r--r--vim/.vim/specific/xml.vim1
13 files changed, 274 insertions, 0 deletions
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 <C-F12> :!ctags * --c-types=+p --c++-kinds=+p --fields=+iaS --extra=+q .<CR>
+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 <args>
+ else
+ command -nargs=+ HiLink hi def link <args>
+ 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 <args>
+ else
+ command -nargs=+ HiLink hi def link <args>
+ 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 <F2> <Esc>:%w !xmllint --valid --noout -<CR>
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 <em@tomcom.de>
+" Original Author: David Bustos <bustos@caltech.edu>
+" 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 <C-n> 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