summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xplugin/backup.vim15
-rwxr-xr-xplugin/buffers.vim5
-rwxr-xr-xplugin/colors.vim5
-rwxr-xr-xplugin/comments.vim323
-rwxr-xr-xplugin/compatibility.vim11
-rwxr-xr-xplugin/completion.vim6
-rwxr-xr-xplugin/editzone.vim39
-rwxr-xr-xplugin/encoding.vim8
-rwxr-xr-xplugin/filetype.vim4
-rwxr-xr-xplugin/indent.vim9
-rwxr-xr-xplugin/misc-bindings.vim38
-rw-r--r--plugin/perso.vim49
-rwxr-xr-xplugin/plugin_python-mode.vim11
-rwxr-xr-xplugin/plugin_rainbow.vim4
-rwxr-xr-xplugin/plugin_ultisnips.vim5
-rwxr-xr-xplugin/plugin_unite.vim15
-rwxr-xr-xplugin/search.vim9
-rwxr-xr-xplugin/syntax.vim9
-rwxr-xr-xplugin/trailing-spaces.vim6
-rwxr-xr-xplugin/vim-airline.vim6
-rwxr-xr-xplugin/viminfo.vim18
21 files changed, 595 insertions, 0 deletions
diff --git a/plugin/backup.vim b/plugin/backup.vim
new file mode 100755
index 0000000..dfcf6a7
--- /dev/null
+++ b/plugin/backup.vim
@@ -0,0 +1,15 @@
+" backup.vim
+" Backup related parameters
+
+set backup
+set backupdir=~/.vimtmp/backup
+set directory=~/.vimtmp/temp
+
+silent !mkdir -p ~/.vimtmp/backup
+silent !mkdir -p ~/.vimtmp/temp
+
+if version >= 703
+ set undofile
+ set undodir=~/.vimtmp/undo
+ silent !mkdir -p ~/.vimtmp/undo
+endif
diff --git a/plugin/buffers.vim b/plugin/buffers.vim
new file mode 100755
index 0000000..13c8e4c
--- /dev/null
+++ b/plugin/buffers.vim
@@ -0,0 +1,5 @@
+" buffers.vim
+" Buffer related options
+
+" Hide the buffer when abandoned (ie. not displayed)
+set hidden
diff --git a/plugin/colors.vim b/plugin/colors.vim
new file mode 100755
index 0000000..3199f5b
--- /dev/null
+++ b/plugin/colors.vim
@@ -0,0 +1,5 @@
+" colors.vim
+
+set background=dark
+"#colorscheme gruvbox
+colo darkZ
diff --git a/plugin/comments.vim b/plugin/comments.vim
new file mode 100755
index 0000000..01bbfa5
--- /dev/null
+++ b/plugin/comments.vim
@@ -0,0 +1,323 @@
+" *********************************************************************************************
+" comments.vim
+" *********************************************************************************************
+" Description : Global Plugin to comment and un-comment different
+" source files in both normal and visual <Shift-V> mode
+" Last Change : 26th April, 2006
+" Created By : Jasmeet Singh Anand <jasanand@hotmail.com>
+" Version : 2.2
+" Usage : For VIM 6 -
+" Stick this file in your ~/.vim/plugin directory or
+" in some other 'plugin' directory that is in your runtime path
+" For VIM 5 -
+" Stick this file somewhere and 'source <path>/comments.vim' it from
+" your ~/.vimrc file
+" Note : I have provided the following key mappings
+" To comment <Ctrl-C> in both normal and visual <Shift-V> range select mode
+" To un-comment <Ctrl-X> in both normal and visual <Shift-V> range select mode
+" These can be changed based on user's likings or usage
+" Contact : For any comments or bug fixes email me at <jasanand@hotmail.com>
+" *********************************************************************************************
+ "Modification:
+" *********************************************************************************************
+" Jasmeet Anand 26th April, 2006 v2.0
+" Fixed C commenting where a single line already had previous comments.
+" int x=0; /*this is an x value*/
+" Still working on situations like
+" Issue A:
+" 1 int x=0; /*this
+" 2 is
+" 3 an
+" 4 x
+" 5 value*/
+" *********************************************************************************************
+" Jasmeet Anand 26th April, 2006 v2.1
+" Provided more granule checking for C Code but still working on Issue A
+" *********************************************************************************************
+" Jasmeet Anand 27th April, 2006 v2.2
+" Fixed another minor C code commenting bug
+" Provided for .csh, .php, .php2 and .php3 support
+" Resolved Issue A with the following logic
+" 1 /* int x=0; */ /*this*/
+" 2 /*is*/
+" 3 /*an*/
+" 4 /*x*/
+" 5 /*value*/
+" However care should be taken when un-commenting it
+" in order to retain the previous comments
+" *********************************************************************************************
+" Jasmeet Anand 1st May 2006 v2.3
+" Provided [:blank:] to accomodate for space and tab characters
+" *********************************************************************************************
+" Jasmeet Anand 1st May 2006 v2.4
+" Provided support for .css as advised by Willem Peter
+" *********************************************************************************************
+" Jasmeet Anand 2nd May 2006 v2.5
+" Removed auto-indenting for .sql, .sh and normal files when un-commenting
+" *********************************************************************************************
+" Jasmeet Anand 5th June 2006 v2.6
+" Added support for .html, .xml, .xthml, .htm, .vim, .vimrc
+" files as provided by Jeff Buttars
+" *********************************************************************************************
+" Smolyar "Rastafarra" Denis 7th June 2007 v2.7
+" Added support for .tex
+" *********************************************************************************************
+" Jasmeet Anand 5th June 2006 v2.8
+" Added support for Fortran .f, .F, .f90, .F90, .f95, .F95
+" files as provided by Albert Farres
+" *********************************************************************************************
+" Jasmeet Anand 8th March 2008 v2.9
+" Added support for ML, Caml, OCaml .ml, mli, PHP (v.4) .php4, PHP (v.5) .php5
+" files as provided by Denis Smolyar
+" Added support for noweb (requires only a small enhancement to the tex type)
+" as provided by Meik "fuller" Temer
+" Added support for vhdl files provided by Trond Danielsen
+" *********************************************************************************************
+" Jasmeet Anand 20 th March 2008 v2.10
+" Bug fixes for php files as pointed by rastafarra
+" *********************************************************************************************
+" Jasmeet Anand 29th November 2008 v2.11
+" Added support for haskel
+" files as provided by Nicolas Martyanoff
+" File Format changed to UNIX
+" *********************************************************************************************
+" Jasmeet Anand 11th January 2009 v2.12
+" bug fix for haskel files as prpvided by Jean-Marie
+"
+
+" Exit if already loaded
+if exists("loaded_comments_plugin")
+ finish
+endif
+
+let loaded_comments_plugin="v2.10"
+
+" key-mappings for comment line in normal mode
+noremap <silent> <C-C> :call CommentLine()<CR>
+" key-mappings for range comment lines in visual <Shift-V> mode
+vnoremap <silent> <C-C> :call RangeCommentLine()<CR>
+
+" key-mappings for un-comment line in normal mode
+noremap <silent> <C-X> :call UnCommentLine()<CR>
+" key-mappings for range un-comment lines in visual <Shift-V> mode
+vnoremap <silent> <C-X> :call RangeUnCommentLine()<CR>
+
+" function to comment line in normal mode
+function! CommentLine()
+ let file_name = buffer_name("%")
+
+ " for .cpp or .hpp or .java or .C files use //
+ if file_name =~ '\.cpp$' || file_name =~ '\.hpp$' || file_name =~ '\.java$' || file_name =~ '\.php[2345]\?$' || file_name =~ '\.C$'
+ execute ":silent! normal ^i//\<ESC>==\<down>^"
+ " for .c or .h or .pc or .css files use /* */
+ elseif file_name =~ '\.c$' || file_name =~ '\.h$' || file_name =~ '\.pc$' || file_name =~ '\.css$' || file_name =~ '\.js$'
+ " if there are previous comments on this line ie /* ... */
+ if stridx(getline("."), "\/\*") != -1 && stridx(getline("."), "\*\/") != -1
+ execute ":silent! normal :nohlsearch\<CR>:s/\\([^\\/\\*]*\\)\\(\\/\\*.*\\*\\/\\)/\\1\\*\\/\\2/\<CR>:s/\\([^[:blank:]]\\+\\)/\\/\\*\\1/\<CR>:nohlsearch\<CR>=="
+ " if there is a /* but no */ like line 1 in Issue A above
+ elseif stridx(getline("."), "\/\*") != -1 && stridx(getline("."), "\*\/") == -1
+ execute ":silent! normal :nohlsearch\<CR>:s/\\(.*\\)\\(\\/\\*.*$\\)/\\/\\*\\1\\*\\/\\2\\*\\//\<CR>:nohlsearch\<CR>=="
+ " if there is a */ but no /* like line 5 in Issue A above
+ elseif stridx(getline("."), "\/\*") == -1 && stridx(getline("."), "\*\/") != -1
+ execute ":silent! normal :nohlsearch\<CR>:s/\\(.*\\*\\/\\)/\\/\\*\\1/\<CR>:nohlsearch\<CR>=="
+ " if there are no comments on this line
+ elseif stridx(getline("."), "\/\*") == -1 && stridx(getline("."), "\*\/") == -1
+ execute ":silent! normal ^i/*\<ESC>$a*/\<ESC>==\<down>^"
+ endif
+ "for .ml or .mli files use (* *)
+ elseif file_name =~ '\.ml$' || file_name =~ '\.mli$'
+ if stridx(getline("."), "\(\*") == -1 && stridx(getline("."), "\*)") == -1
+ execute ":silent! normal ^i(*\<ESC>$a*)\<ESC>==\<down>^"
+ endif
+ " .html,.xml,.xthml,.htm
+ elseif file_name =~ '\.html$' || file_name =~ '\.htm$' || file_name =~ '\.xml$' || file_name =~ '\.xhtml$'
+ if stridx( getline("."), "\<!--" ) != -1 && stridx( getline("."), "--\>" ) != -1
+ elseif stridx( getline("."), "\<!--" ) != -1 && stridx( getline("."), "--\>" ) == -1
+ " open, but a close "
+ execute ":silent! normal ^A--\>\<ESC>==\<down>^"
+ elseif stridx( getline("."), "\<!--" ) == -1 && stridx( getline("."), "--\>" ) != -1
+ execute ":silent! normal ^i\<\!--\<ESC>==\<down>^"
+ elseif stridx( getline("."), "\<!--" ) == -1 && stridx( getline("."), "--\>" ) == -1
+ execute ":silent! normal ^i\<\!--\<ESC>$a--\>\<ESC>==\<down>^"
+ endif
+ " for .vim files use "
+ elseif file_name =~ '\.vim$' || file_name =~ '\.vimrc$'
+ execute ":silent! normal ^i\"\<ESC>\<down>^"
+ " for .sql files use --
+ elseif file_name =~ '\.sql$'
+ execute ":silent! normal ^i--\<ESC>\<down>^"
+ " for .ksh or .sh or .csh or .pl or .pm files use #
+ elseif file_name =~ '\.[kc]\?sh$' || file_name =~ '\.pl$' || file_name =~ '\.pm$'
+ execute ":silent! normal ^i#\<ESC>\<down>^"
+ " for .tex files use %
+ elseif file_name =~ '\.tex$' || file_name =~ '\.nw$'
+ execute ":silent! normal ^i%\<ESC>\<down>^"
+ " for fortran 77 files use C on first column
+ elseif file_name =~ '\.f$' || file_name =~ '\.F$'
+ execute ":silent! normal ^gIC\<ESC>\<down>^"
+ " for fortran 90/95 files use !
+ elseif file_name =~ '\.f90$' || file_name =~ '\.F90$' || file_name =~ '\.f95$' || file_name =~ '\.F95$'
+ execute ":silent! normal ^i!\<ESC>\<down>^"
+ " for VHDL and Haskell files use --
+ elseif file_name =~ '\.vhd$' || file_name =~ '\.vhdl$' || file_name =~ '\.hs$'
+ execute ":silent! normal ^gI-- \<ESC>\<down>^"
+ " for all other files use #
+ else
+ execute ":silent! normal ^i#\<ESC>\<down>^"
+ endif
+endfunction
+
+" function to un-comment line in normal mode
+function! UnCommentLine()
+ let file_name = buffer_name("%")
+
+ " for .cpp or .hpp or .java or .C files use //
+ if file_name =~ '\.cpp$' || file_name =~ '\.hpp$' || file_name =~ '\.java$' || file_name =~ '\.php[2345]\?$' || file_name =~ '\.C$'
+ execute ":silent! normal :nohlsearch\<CR>:s/\\/\\///\<CR>:nohlsearch\<CR>=="
+ " for .ml or .mli
+ elseif file_name =~ '\.ml$' || file_name =~ '\.mli$'
+ execute ":silent! normal :nohlsearch\<CR>:s/(\\*//\<CR>:nohlsearch\<CR>"
+ execute ":silent! normal :nohlsearch\<CR>:s/\\*)//\<CR>:nohlsearch\<CR>=="
+ " for .c or .h or .pc or .css files use /* */
+ elseif file_name =~ '\.c$' || file_name =~ '\.h$' || file_name =~ '\.pc$' || file_name =~ '\.css$' || file_name =~ '\.js$'
+ execute ":silent! normal :nohlsearch\<CR>:s/\\/\\*//\<CR>:s/\\*\\///\<CR>:nohlsearch\<CR>=="
+ " for .vim files use "
+ elseif file_name =~ '\.vim$' || file_name =~ '\.vimrc$'
+ execute ":silent! normal :nohlsearch\<CR>:s/\\\"//\<CR>:nohlsearch\<CR>"
+ " for .sql files use --
+ elseif file_name =~ '\.sql$'
+ execute ":silent! normal :nohlsearch\<CR>:s/\\-\\-//\<CR>:nohlsearch\<CR>"
+ " for .ksh or .sh or .csh or .pl or .pm files use #
+ elseif file_name =~ '\.[kc]\?sh$' || file_name =~ '\.pl$' || file_name =~ '\.pm$'
+ execute ":silent! normal :nohlsearch\<CR>:s/\\#//\<CR>:nohlsearch\<CR>"
+ " for .xml .html .xhtml .htm use <!-- -->
+ elseif file_name =~ '\.html$' || file_name =~ '\.htm$' || file_name =~ '\.xml$' || file_name =~ '\.xhtml$'
+ execute ":silent! normal :nohlsearch\<CR>:s/<!--//\<CR>=="
+ execute ":silent! normal :nohlsearch\<CR>:s/-->//\<CR>=="
+ " for .tex use %
+ elseif file_name =~ '\.tex$' || file_name =~ '\.nw$'
+ execute ":silent! normal :nohlsearch\<CR>:s/%/\<CR>:nohlsearch\<CR>"
+ " for fortran 77 files use C on first column
+ elseif file_name =~ '\.f$' || file_name =~ '\.F$'
+ execute ":silent! normal ^x\<ESC>\<down>^"
+ " for fortran 90/95 files use !
+ elseif file_name =~ '\.f90$' || file_name =~ '\.F90$' || file_name =~ '\.f95$' || file_name =~ '\.F95$'
+ execute ":silent! normal :nohlsearch\<CR>:s/!//\<CR>:nohlsearch\<CR>"
+ " for VHDL and Haskell files use --
+ elseif file_name =~ '\.vhd$' || file_name =~ '\.vhdl$' || file_name =~ '\.hs$'
+ execute ":silent! normal :nohlsearch\<CR>:s/-- //\<CR>:nohlsearch\<CR>"
+ " for all other files use #
+ else
+ execute ":silent! normal :nohlsearch\<CR>:s/\\#//\<CR>:nohlsearch\<CR>"
+ endif
+endfunction
+
+" function to range comment lines in visual mode
+function! RangeCommentLine()
+ let file_name = buffer_name("%")
+
+ " for .cpp or .hpp or .java or .C files use //
+ if file_name =~ '\.cpp$' || file_name =~ '\.hpp$' || file_name =~ '\.java$' || file_name =~ '\.php[2345]\?$' || file_name =~ '\.C$'
+ execute ":silent! normal :s/\\S/\\/\\/\\0/\<CR>:nohlsearch<CR>=="
+ " for .c or .h or .pc or .css files use /* */
+ elseif file_name =~ '\.c$' || file_name =~ '\.h$' || file_name =~ '\.pc$' || file_name =~ '\.css$' || file_name =~ '\.js$'
+ " if there are previous comments on this line ie /* ... */
+ if stridx(getline("."), "\/\*") != -1 && stridx(getline("."), "\*\/") != -1
+ execute ":silent! normal :nohlsearch\<CR>:s/\\([^\\/\\*]*\\)\\(\\/\\*.*\\*\\/\\)/\\1\\*\\/\\2/\<CR>:s/\\([^[:blank:]]\\+\\)/\\/\\*\\1/\<CR>:nohlsearch\<CR>=="
+ " if there is a /* but no */ like line 1 in Issue A above
+ elseif stridx(getline("."), "\/\*") != -1 && stridx(getline("."), "\*\/") == -1
+ execute ":silent! normal :nohlsearch\<CR>:s/\\(.*\\)\\(\\/\\*.*$\\)/\\/\\*\\1\\*\\/\\2\\*\\//\<CR>:nohlsearch\<CR>=="
+ " if there is a */ but no /* like line 5 in Issue A above
+ elseif stridx(getline("."), "\/\*") == -1 && stridx(getline("."), "\*\/") != -1
+ execute ":silent! normal :nohlsearch\<CR>:s/\\(.*\\*\\/\\)/\\/\\*\\1/\<CR>:nohlsearch\<CR>=="
+ " if there are no comments on this line
+ elseif stridx(getline("."), "\/\*") == -1 && stridx(getline("."), "\*\/") == -1
+ execute ":silent! normal :s/\\(\\S.*$\\)/\\/\\*\\1\\*\\//\<CR>:nohlsearch\<CR>=="
+ endif
+ " .html,.xml,.xthml,.htm
+ elseif file_name =~ '\.html$' || file_name =~ '\.htm$' || file_name =~ '\.xml$' || file_name =~ '\.xhtml$'
+ if stridx( getline("."), "\<!--" ) != -1 && stridx( getline("."), "--\>" ) != -1
+ elseif stridx( getline("."), "\<!--" ) != -1 && stridx( getline("."), "--\>" ) == -1
+ " open, but a close "
+ execute ":silent! normal ^A--\>\<ESC>==\<down>^"
+ elseif stridx( getline("."), "\<!--" ) == -1 && stridx( getline("."), "--\>" ) != -1
+ execute ":silent! normal ^i\<\!--\<ESC>==\<down>^"
+ elseif stridx( getline("."), "\<!--" ) == -1 && stridx( getline("."), "--\>" ) == -1
+ execute ":silent! normal ^i\<\!--\<ESC>$a--\>\<ESC>==\<down>^"
+ endif
+ " for .ml, .mli files use (* *)
+ elseif file_name =~ '\.ml$' || file_name =~ '\.mli'
+ if stridx(getline("."), "\(\*") == -1 && stridx(getline("."), "\*)/") == -1
+ execute ":silent! normal ^i\(*\<ESC>$a*)\<ESC>==\<down>^"
+ endif
+ " for .vim files use --
+ elseif file_name =~ '\.vim$' || file_name =~ '\.vimrc$'
+ execute ":silent! normal :s/\\S/\\\"\\0/\<CR>:nohlsearch<CR>"
+ " for .sql files use --
+ elseif file_name =~ '\.sql$'
+ execute ":silent! normal :s/\\S/\\-\\-\\0/\<CR>:nohlsearch<CR>"
+ " for .ksh or .sh or .csh or .pl or .pm files use #
+ elseif file_name =~ '\.[kc]\?sh$' || file_name =~ '\.pl$' || file_name =~ '\.pm$'
+ execute ":silent! normal :s/\\S/\\#\\0/\<CR>:nohlsearch<CR>"
+ " for .tex use %
+ elseif file_name =~ '\.tex$' || file_name =~ '\.nw$'
+ execute ":silent! normal :s/\\S/\\%\\0/\<CR>:nohlsearch<CR>"
+ " for fortran 77 files use C on first column
+ elseif file_name =~ '\.f$' || file_name =~ '\.F$'
+ execute ":silent! normal ^gIC\<ESC>\<down>^"
+ " for fortran 90/95 files use !
+ elseif file_name =~ '\.f90$' || file_name =~ '\.F90$' || file_name =~ '\.f95$' || file_name =~ '\.F95$'
+ execute ":silent! normal :s/\\S/!\\0/\<CR>:nohlsearch<CR>"
+ " for VHDL and Haskell files use --
+ elseif file_name =~ '\.vhd$' || file_name =~ '\.vhdl$' || file_name =~ '\.hs$'
+ execute ":silent! normal ^gI-- \<ESC>\<down>^"
+ " for all other files use #
+ else
+ execute ":silent! normal :s/\\S/\\#\\0/\<CR>:nohlsearch<CR>"
+ endif
+endfunction
+
+" function to range un-comment lines in visual mode
+function! RangeUnCommentLine()
+ let file_name = buffer_name("%")
+
+ " for .cpp or .hpp or .java files use //
+ if file_name =~ '\.cpp$' || file_name =~ '\.hpp$' || file_name =~ '\.java$' || file_name =~ '\.php[2345]\?$' || file_name =~ '\.C$'
+ execute ":silent! normal :s/\\/\\///\<CR>:nohlsearch\<CR>=="
+ " for .c or .h or .pc or .css files use /* */
+ elseif file_name =~ '\.c$' || file_name =~ '\.h$' || file_name =~ '\.pc$' || file_name =~ '\.css$' || file_name =~ '\.js$'
+ execute ":silent! normal :nohlsearch\<CR>:s/\\/\\*//\<CR>:s/\\*\\///\<CR>:nohlsearch\<CR>=="
+ " for .vim files use "
+ elseif file_name =~ '\.vim$' || file_name =~ '\.vimrc$'
+ execute ":silent! normal :s/\\\"//\<CR>:nohlsearch\<CR>"
+ " for .sql files use --
+ elseif file_name =~ '\.sql$'
+ execute ":silent! normal :s/\\-\\-//\<CR>:nohlsearch\<CR>"
+ " for .ml .mli
+ elseif file_name =~ '\.ml$' || file_name =~ '\.mli$'
+ execute ":silent! normal :nohlsearch\<CR>:s/(\\*//\<CR>=="
+ execute ":silent! normal :nohlsearch\<CR>:s/\\*)//\<CR>=="
+ " for .xml .html .xhtml .htm use <!-- -->
+ elseif file_name =~ '\.html$' || file_name =~ '\.htm$' || file_name =~ '\.xml$' || file_name =~ '\.xhtml$'
+ execute ":silent! normal :nohlsearch\<CR>:s/<!--//\<CR>=="
+ execute ":silent! normal :nohlsearch\<CR>:s/-->//\<CR>=="
+ elseif file_name =~ '\.[kc]\?sh$' || file_name =~ '\.pl$' || file_name =~ '\.pm$'
+ execute ":silent! normal :s/\\#//\<CR>:nohlsearch\<CR>"
+ " for .tex use %
+ elseif file_name =~ '\.tex$' || file_name =~ '\.nw$'
+ execute ":silent! normal :s/%/\<CR>:nohlsearch\<CR>"
+ " for fortran 77 files use C on first column
+ elseif file_name =~ '\.f$' || file_name =~ '\.F$'
+ execute ":silent! normal ^x\<ESC>\<down>^"
+ " for fortran 90/95 files use !
+ elseif file_name =~ '\.f90$' || file_name =~ '\.F90$' || file_name =~ '\.f95$' || file_name =~ '\.F95$'
+ execute ":silent! normal :s/!//\<CR>:nohlsearch\<CR>"
+ " for VHDL and Haskell files use --
+ elseif file_name =~ '\.vhd$' || file_name =~ '\.vhdl$' || file_name =~ '\.hs$'
+ execute ":silent! normal :s/-- //\<CR>:nohlsearch\<CR>"
+ " for all other files use #
+ else
+ execute ":silent! normal :s/\\#//\<CR>:nohlsearch\<CR>"
+ endif
+endfunction
+
diff --git a/plugin/compatibility.vim b/plugin/compatibility.vim
new file mode 100755
index 0000000..98f229a
--- /dev/null
+++ b/plugin/compatibility.vim
@@ -0,0 +1,11 @@
+" compatibility.vim
+" Sets compatiblity parameters
+
+" disregard vi compatibility
+"set nocompatible
+
+" allow backspacing over everything
+"set backspace=eol,indent,start
+
+" show partial command in the last line of the screen
+set showcmd
diff --git a/plugin/completion.vim b/plugin/completion.vim
new file mode 100755
index 0000000..d8da491
--- /dev/null
+++ b/plugin/completion.vim
@@ -0,0 +1,6 @@
+" completion.vim
+" Completion related options
+
+" wildcard char = <TAB>
+set wildmenu
+set wildmode=list:longest:full
diff --git a/plugin/editzone.vim b/plugin/editzone.vim
new file mode 100755
index 0000000..e257303
--- /dev/null
+++ b/plugin/editzone.vim
@@ -0,0 +1,39 @@
+" editzone.vim
+" Parameters related to the edition zone
+
+" Display relative line numbers and absolute line number for the current line
+set number relativenumber
+
+" In insert mode, display absolute line numbers
+au InsertEnter * :set number norelativenumber
+" Come back to standard mode when leaving insert mode
+au InsertLeave * :set relativenumber
+
+" Default status line
+set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [ASCII=\%03.3b]\ [HEX=\%02.2B]\ [POS=%04l,%04v][%p%%]\ [LEN=%L]
+set laststatus=2
+
+" Disable bells
+set noerrorbells
+set novisualbell
+
+"set textwidth=100
+"if version >= 703
+" set colorcolumn=+1
+"endif
+
+" Show special chars
+set list
+set listchars=tab:.\ ,eol:¬,nbsp:␣
+
+" Highlight the screen line of the cursor
+set cursorline
+
+" Always show 5 lines around cursor
+set scrolloff=5
+
+" from : http://vim.wikia.com/wiki/Highlight_current_line
+" toogle highlight cursor column
+nnoremap <Leader>c :set cursorcolumn!<CR>
+" toogle highligh cursor line
+nnoremap <Leader>l :set cursorline!<CR>
diff --git a/plugin/encoding.vim b/plugin/encoding.vim
new file mode 100755
index 0000000..b245198
--- /dev/null
+++ b/plugin/encoding.vim
@@ -0,0 +1,8 @@
+" encoding.vim
+" Sets Vim and files encoding.
+
+" Get the encoding from the environment
+set encoding=utf-8
+
+" Transliterate files in UTF-8
+set fileencoding=utf-8
diff --git a/plugin/filetype.vim b/plugin/filetype.vim
new file mode 100755
index 0000000..cfdc038
--- /dev/null
+++ b/plugin/filetype.vim
@@ -0,0 +1,4 @@
+" filetype.vim
+" Filetype related configuration.
+
+filetype plugin indent on
diff --git a/plugin/indent.vim b/plugin/indent.vim
new file mode 100755
index 0000000..de67636
--- /dev/null
+++ b/plugin/indent.vim
@@ -0,0 +1,9 @@
+" indent.vim
+" Defines indentation behavior
+
+set softtabstop=2
+set shiftwidth=2
+set expandtab
+set smarttab
+
+set autoindent
diff --git a/plugin/misc-bindings.vim b/plugin/misc-bindings.vim
new file mode 100755
index 0000000..4591fd9
--- /dev/null
+++ b/plugin/misc-bindings.vim
@@ -0,0 +1,38 @@
+" misc-bindings.vim
+" Every miscellaneous key binding will go here.
+
+" << That stupid goddamned help key that you will invaribly hit constantly
+" while aiming for escape >> -- Steve Losh
+inoremap <F1> <Esc>
+vnoremap <F1> <Esc>
+nnoremap <F1> <Esc>
+
+"inoremap <silent> <Esc> <Esc>l
+
+" << it's one less key to hit every time I want to save a file >>
+" -- Steve Losh (again)
+"nnoremap ; :
+"vnoremap ; :
+
+" From Kalenz's Vim config. Life changing.
+nnoremap <Space> <C-w>
+
+" halfr personnal shortcurts
+nnoremap <Space>\| <C-w>v<Return>
+nnoremap <Space>- <C-w>s<Return>
+nnoremap <Space><Space> <C-w>w
+
+" save
+nnoremap <Space><Return> :w<Return>
+" save and quit
+nnoremap <Space><Backspace> :x<Return>
+
+nnoremap <Space>! :tab sball<Return>
+
+nnoremap <F5> :make<Return>
+
+" I DONT WANT TO USE AN ENCRYPTION KEY
+" http://stackoverflow.com/questions/3878692/aliasing-a-command-in-vim
+" cnoreabbrev <expr> X ((getcmdtype() is# ':' && getcmdline() is# 'X')?('x'):('X'))
+
+
diff --git a/plugin/perso.vim b/plugin/perso.vim
new file mode 100644
index 0000000..f736e10
--- /dev/null
+++ b/plugin/perso.vim
@@ -0,0 +1,49 @@
+set showcmd
+
+set backspace=indent,eol,start
+
+set expandtab
+set shiftwidth=2
+set softtabstop=2
+set cindent
+
+
+set encoding=utf-8
+set fileencoding=utf-8
+
+colo darkZ
+
+filetype plugin indent on
+
+
+nnoremap <silent><A-o> :set paste<CR>m`o<Esc>``:set nopaste<CR>
+nnoremap <silent><A-O> :set paste<CR>m`O<Esc>``:set nopaste<CR>
+
+
+"inoremap {<CR> {<CR>}<up><C-o>$
+"inoremap {{ {
+"inoremap {} {}
+"inoremap << <><left>
+"inoremap [ []<left>
+"inoremap [[ [
+"inoremap [] []
+"inoremap ( ()<left>
+"inoremap (( (
+"inoremap () ()
+"inoremap " ""<left>
+"inoremap "" ""
+"inoremap ' ''<left>
+"inoremap '' ''
+
+"Perso C définition"
+inoremap prt printf
+inoremap swf printf
+inoremap #in< #include<><left>
+inoremap #de #define
+
+" Personal shortcurts
+
+nnoremap <silent>èè__ :set paste<CR>m`o<Esc>``:set nopaste<CR>
+nmap <C-X> :TagbarToggle<CR>
+nmap <C-C> :NERDTreeToggle<CR>
+
diff --git a/plugin/plugin_python-mode.vim b/plugin/plugin_python-mode.vim
new file mode 100755
index 0000000..2bc009f
--- /dev/null
+++ b/plugin/plugin_python-mode.vim
@@ -0,0 +1,11 @@
+" plugin_python-mode.vim
+" Configuration for the python-mode plugin
+
+" I mostly use python3
+let g:pymode_python = "python3"
+
+" Do not run lint on each write
+let g:pymode_lint_on_write = 0
+
+" Disable folding
+let g:pymode_folding = 0
diff --git a/plugin/plugin_rainbow.vim b/plugin/plugin_rainbow.vim
new file mode 100755
index 0000000..493e2e3
--- /dev/null
+++ b/plugin/plugin_rainbow.vim
@@ -0,0 +1,4 @@
+" plugin_rainbow.vim
+" rainbow configuration
+
+let g:rainbow_active = 1
diff --git a/plugin/plugin_ultisnips.vim b/plugin/plugin_ultisnips.vim
new file mode 100755
index 0000000..0eafd77
--- /dev/null
+++ b/plugin/plugin_ultisnips.vim
@@ -0,0 +1,5 @@
+" plugin_ultisnips.vim
+" UltiSnips configuration
+
+" disable missing python support warning
+let g:UltiSnipsNoPythonWarning = 1
diff --git a/plugin/plugin_unite.vim b/plugin/plugin_unite.vim
new file mode 100755
index 0000000..21e8861
--- /dev/null
+++ b/plugin/plugin_unite.vim
@@ -0,0 +1,15 @@
+" plugin_unite.vim
+
+" Bindings
+
+" Search files in current dir
+nnoremap <C-p> :Unite -start-insert file_rec/async<CR>
+" Find pattern in current directory
+nnoremap <Space>/ :Unite grep:.<CR>
+" Search in buffers
+nnoremap <Space>s :Unite buffer<CR>
+
+" Search word under cursor
+noremap <silent> <Space>* :Unite grep:.::<C-R><C-w><CR>
+
+let g:unite_source_rec_async_command = 'ag --follow --nocolor --nogroup --hidden -g ""'
diff --git a/plugin/search.vim b/plugin/search.vim
new file mode 100755
index 0000000..6ae934b
--- /dev/null
+++ b/plugin/search.vim
@@ -0,0 +1,9 @@
+" search.vim
+" Defines search parameters
+
+set smartcase
+set ignorecase
+set incsearch
+set gdefault
+set showmatch
+set nohlsearch
diff --git a/plugin/syntax.vim b/plugin/syntax.vim
new file mode 100755
index 0000000..ecd8edb
--- /dev/null
+++ b/plugin/syntax.vim
@@ -0,0 +1,9 @@
+" syntax.vim
+
+syntax enable
+
+" Python specific options
+let python_highlight_all = 1
+
+" syntastic
+let g:syntastic_cpp_compiler_options = "-std=cpp11"
diff --git a/plugin/trailing-spaces.vim b/plugin/trailing-spaces.vim
new file mode 100755
index 0000000..bea3f7a
--- /dev/null
+++ b/plugin/trailing-spaces.vim
@@ -0,0 +1,6 @@
+" trailing-spaces.vim
+" Trailing whitespaces highlighting
+
+highlight ExtraWhitespace ctermbg=darkred
+" Show trailing whitepace and spaces before a tab:
+autocmd Syntax * syn match ExtraWhitespace /\s\+$\| \+\ze\t/ containedin=ALL
diff --git a/plugin/vim-airline.vim b/plugin/vim-airline.vim
new file mode 100755
index 0000000..6152db7
--- /dev/null
+++ b/plugin/vim-airline.vim
@@ -0,0 +1,6 @@
+" vim-airline.vim
+" vim-airline configuration
+
+let g:airline_left_sep=''
+let g:airline_right_sep=''
+let g:airline_theme='tomorrow'
diff --git a/plugin/viminfo.vim b/plugin/viminfo.vim
new file mode 100755
index 0000000..c543518
--- /dev/null
+++ b/plugin/viminfo.vim
@@ -0,0 +1,18 @@
+" viminfo.vim
+" Viminfo parameters
+
+set viminfo='20,\"50,<100,n~/.vimtmp/viminfo
+
+" From the Vim wiki
+" http://vim.wikia.com/wiki/Restore_cursor_to_file_position_in_previous_editing_session
+function! ResCur()
+ if line("'\"") <= line("$")
+ normal! g`"
+ return 1
+ endif
+endfunction
+
+augroup resCur
+ autocmd!
+ autocmd BufWinEnter * call ResCur()
+augroup END