summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFélix Sipma <gueux@gueux.org>2014-10-29 16:07:23 +0100
committerFélix Sipma <gueux@gueux.org>2014-10-29 16:07:23 +0100
commit37485cc4c2953e6766f42dd4d57285f3bcd3fd98 (patch)
treec79c12df4b4b1b2d78a4b6f4a01272a2cc2db362
parent7eef556325a9336359635a560225ff75eaa42430 (diff)
vim
-rw-r--r--.config/vim/.VimballRecord6
-rw-r--r--.config/vim/contrib/README.txt19
-rw-r--r--.config/vim/contrib/vim72.diff79
-rw-r--r--.config/vim/contrib/vim73_390_foldinghighlighting.patch120
-rw-r--r--.config/vim/contrib/vim73_46_foldhighlight.patch113
-rw-r--r--.config/vim/ftplugin/haskell.vim1
-rw-r--r--.config/vim/ftplugin/tex.vim7
-rw-r--r--.config/vim/keys.vim75
l---------.config/vim/plugin/tagbar-haskell.vim1
-rw-r--r--.config/vim/spell/es.utf-8.splbin0 -> 601019 bytes
-rw-r--r--.config/vim/spell/es.utf-8.sugbin0 -> 1912378 bytes
-rw-r--r--.config/vim/spell/fr.utf-8.splbin0 -> 571627 bytes
-rw-r--r--.config/vim/spell/fr.utf-8.sugbin0 -> 2324315 bytes
-rw-r--r--.config/vim/vimoutlinerrc37
-rw-r--r--.config/vim/vimrc988
15 files changed, 1446 insertions, 0 deletions
diff --git a/.config/vim/.VimballRecord b/.config/vim/.VimballRecord
new file mode 100644
index 0000000..92a5d33
--- /dev/null
+++ b/.config/vim/.VimballRecord
@@ -0,0 +1,6 @@
+haskellmode-20081031.vba: call delete('/home/g/.vim/compiler/ghc.vim')|call delete('/home/g/.vim/ftplugin/haskell.vim')|call delete('/home/g/.vim/ftplugin/haskell_doc.vim')|call delete('/home/g/.vim/ftplugin/haskell_hpaste.vim')|call delete('/home/g/.vim/doc/haskellmode.txt')
+Viki.vba: call delete('/home/g/.vim/autoload/viki.vim')|call delete('/home/g/.vim/autoload/viki_anyword.vim')|call delete('/home/g/.vim/autoload/viki_latex.vim')|call delete('/home/g/.vim/autoload/viki_viki.vim')|call delete('/home/g/.vim/compiler/deplate.vim')|call delete('/home/g/.vim/doc/viki.txt')|call delete('/home/g/.vim/ftplugin/bib/viki.vim')|call delete('/home/g/.vim/ftplugin/viki.vim')|call delete('/home/g/.vim/indent/viki.vim')|call delete('/home/g/.vim/plugin/viki.vim')|call delete('/home/g/.vim/syntax/viki.vim')|call delete('/home/g/.vim/syntax/texmath.vim')
+tlib.vba: call delete('/home/g/.vim/plugin/02tlib.vim')|call delete('/home/g/.vim/doc/tlib.txt')|call delete('/home/g/.vim/test/tlib.vim')|call delete('/home/g/.vim/autoload/tlib/file.vim')|call delete('/home/g/.vim/autoload/tlib/Filter_cnf.vim')|call delete('/home/g/.vim/autoload/tlib/Filter_cnfd.vim')|call delete('/home/g/.vim/autoload/tlib/Filter_fuzzy.vim')|call delete('/home/g/.vim/autoload/tlib/Filter_seq.vim')|call delete('/home/g/.vim/autoload/tlib/Object.vim')|call delete('/home/g/.vim/autoload/tlib/Test.vim')|call delete('/home/g/.vim/autoload/tlib/TestChild.vim')|call delete('/home/g/.vim/autoload/tlib/World.vim')|call delete('/home/g/.vim/autoload/tlib/agent.vim')|call delete('/home/g/.vim/autoload/tlib/arg.vim')|call delete('/home/g/.vim/autoload/tlib/autocmdgroup.vim')|call delete('/home/g/.vim/autoload/tlib/buffer.vim')|call delete('/home/g/.vim/autoload/tlib/cache.vim')|call delete('/home/g/.vim/autoload/tlib/char.vim')|call delete('/home/g/.vim/autoload/tlib/cmd.vim')|call delete('/home/g/.vim/autoload/tlib/comments.vim')|call delete('/home/g/.vim/autoload/tlib/date.vim')|call delete('/home/g/.vim/autoload/tlib/dir.vim')|call delete('/home/g/.vim/autoload/tlib/eval.vim')|call delete('/home/g/.vim/autoload/tlib/hook.vim')|call delete('/home/g/.vim/autoload/tlib/input.vim')|call delete('/home/g/.vim/autoload/tlib/list.vim')|call delete('/home/g/.vim/autoload/tlib/map.vim')|call delete('/home/g/.vim/autoload/tlib/normal.vim')|call delete('/home/g/.vim/autoload/tlib/notify.vim')|call delete('/home/g/.vim/autoload/tlib/paragraph.vim')|call delete('/home/g/.vim/autoload/tlib/progressbar.vim')|call delete('/home/g/.vim/autoload/tlib/rx.vim')|call delete('/home/g/.vim/autoload/tlib/scratch.vim')|call delete('/home/g/.vim/autoload/tlib/signs.vim')|call delete('/home/g/.vim/autoload/tlib/string.vim')|call delete('/home/g/.vim/autoload/tlib/syntax.vim')|call delete('/home/g/.vim/autoload/tlib/tab.vim')|call delete('/home/g/.vim/autoload/tlib/tag.vim')|call delete('/home/g/.vim/autoload/tlib/textobjects.vim')|call delete('/home/g/.vim/autoload/tlib/time.vim')|call delete('/home/g/.vim/autoload/tlib/type.vim')|call delete('/home/g/.vim/autoload/tlib/url.vim')|call delete('/home/g/.vim/autoload/tlib/var.vim')|call delete('/home/g/.vim/autoload/tlib/win.vim')|call delete('/home/g/.vim/autoload/tlib.vim')
+gitdiff.vba: call delete('/home/gueux/.vim/plugin/gitdiff.vim')
+NrrwRgn-0.31.vmb: call delete('/home/gueux/.vim/plugin/NrrwRgn.vim')|call delete('/home/gueux/.vim/autoload/nrrwrgn.vim')|call delete('/home/gueux/.vim/doc/NarrowRegion.txt')
+utl_3_0a.vba: call delete('/home/gueux/.vim/doc/utl_usr.txt')|call delete('/home/gueux/.vim/autoload/utl_lib.vim')|call delete('/home/gueux/.vim/plugin/utl.vim')|call delete('/home/gueux/.vim/plugin/utl_rc.vim')|call delete('/home/gueux/.vim/plugin/utl_scm.vim')|call delete('/home/gueux/.vim/plugin/utl_uri.vim')
diff --git a/.config/vim/contrib/README.txt b/.config/vim/contrib/README.txt
new file mode 100644
index 0000000..2d026b8
--- /dev/null
+++ b/.config/vim/contrib/README.txt
@@ -0,0 +1,19 @@
+The vim73 patch in this directory does two things:
+
+1. Enables level-dependent fold highlighting in Vim73.
+2. Enables separate TODO highlighting in folded headings
+ in VimOrganizer, so TODO's stand out even when a
+ heading is folded.
+
+Two versions of the Vim73 patch are included. The _46 version
+is for source code downloaded from Vim.org. The _390 version
+works for the Mercurial repo version as of Dec. 31, 2011.
+
+The vim72 patch is old and only does (1) above.
+
+If someone is using a version of Windows and wants to avoid
+recompiling process you can contact me and I will send you an
+executable you should be able to use on your system.
+
+Herbert Sitz
+hesitz@gmail.com
diff --git a/.config/vim/contrib/vim72.diff b/.config/vim/contrib/vim72.diff
new file mode 100644
index 0000000..1d79a20
--- /dev/null
+++ b/.config/vim/contrib/vim72.diff
@@ -0,0 +1,79 @@
+=== (+2,-1) src/eval.c ===
+@@ -355,6 +355,7 @@
+ {VV_NAME("operator", VAR_STRING), VV_RO},
+ {VV_NAME("searchforward", VAR_NUMBER), 0},
+ {VV_NAME("oldfiles", VAR_LIST), 0},
++ {VV_NAME("foldhighlight", VAR_NUMBER), 0},
+ };
+
+ /* shorthand */
+=== (+18,-9) src/screen.c ===
+@@ -2179,9 +2179,17 @@
+ # define RL_MEMSET(p, v, l) for (ri = 0; ri < l; ++ri) \
+ ScreenAttrs[off + (p) + ri] = v
+ #endif
++ /*
++ * 4. Compose the folded-line string with 'foldtext', if set.
++ */
++ text = get_foldtext(wp, lnum, lnume, foldinfo, buf);
++
++ txtcol = col; /* remember where text starts */
+
+ /* Set all attributes of the 'number' column and the text */
+- RL_MEMSET(col, hl_attr(HLF_FL), W_WIDTH(wp) - col);
++ //RL_MEMSET(col, hl_attr(HLF_FL), W_WIDTH(wp) - col);
++ RL_MEMSET(col, hl_attr(get_vim_var_nr(VV_FOLDHIGHLIGHT)), W_WIDTH(wp) - col);
++
+
+ #ifdef FEAT_SIGNS
+ /* If signs are being displayed, add two spaces. */
+@@ -2196,10 +2204,11 @@
+ if (wp->w_p_rl)
+ /* the line number isn't reversed */
+ copy_text_attr(off + W_WIDTH(wp) - len - col,
+- (char_u *)" ", len, hl_attr(HLF_FL));
++ (char_u *)" ", len, hl_attr(get_vim_var_nr(VV_FOLDHIGHLIGHT)));
++
+ else
+ # endif
+- copy_text_attr(off + col, (char_u *)" ", len, hl_attr(HLF_FL));
++ copy_text_attr(off + col, (char_u *)" ", len, hl_attr(get_vim_var_nr(VV_FOLDHIGHLIGHT)));
+ col += len;
+ }
+ }
+@@ -2222,10 +2231,10 @@
+ if (wp->w_p_rl)
+ /* the line number isn't reversed */
+ copy_text_attr(off + W_WIDTH(wp) - len - col, buf, len,
+- hl_attr(HLF_FL));
++ hl_attr(get_vim_var_nr(VV_FOLDHIGHLIGHT)));
+ else
+ #endif
+- copy_text_attr(off + col, buf, len, hl_attr(HLF_FL));
++ copy_text_attr(off + col, buf, len, hl_attr(get_vim_var_nr(VV_FOLDHIGHLIGHT)));
+ col += len;
+ }
+ }
+@@ -2233,9 +2242,9 @@
+ /*
+ * 4. Compose the folded-line string with 'foldtext', if set.
+ */
+- text = get_foldtext(wp, lnum, lnume, foldinfo, buf);
+-
+- txtcol = col; /* remember where text starts */
++ //text = get_foldtext(wp, lnum, lnume, foldinfo, buf);
++// moved up above to heappen earlier h.s.
++ // txtcol = col; /* remember where text starts */
+
+ /*
+ * 5. move the text to current_ScreenLine. Fill up with "fill_fold".
+=== (+3,-2) src/vim.h ===
+@@ -1767,7 +1767,8 @@
+ #define VV_OP 52
+ #define VV_SEARCHFORWARD 53
+ #define VV_OLDFILES 54
+-#define VV_LEN 55 /* number of v: vars */
++#define VV_FOLDHIGHLIGHT 55
++#define VV_LEN 56 /* number of v: vars */
+
+ #ifdef FEAT_CLIPBOARD
diff --git a/.config/vim/contrib/vim73_390_foldinghighlighting.patch b/.config/vim/contrib/vim73_390_foldinghighlighting.patch
new file mode 100644
index 0000000..958b29a
--- /dev/null
+++ b/.config/vim/contrib/vim73_390_foldinghighlighting.patch
@@ -0,0 +1,120 @@
+Common subdirectories: src/auto and patched_src/auto
+diff -u src/eval.c patched_src/eval.c
+--- src/eval.c 2012-01-01 16:30:50.421710297 +0100
++++ patched_src/eval.c 2012-01-01 17:12:53.261832394 +0100
+@@ -360,6 +360,8 @@
+ {VV_NAME("searchforward", VAR_NUMBER), 0},
+ {VV_NAME("oldfiles", VAR_LIST), 0},
+ {VV_NAME("windowid", VAR_NUMBER), VV_RO},
++ {VV_NAME("foldhighlight", VAR_NUMBER), 0},
++ {VV_NAME("todohighlight", VAR_NUMBER), 0},
+ };
+
+ /* shorthand */
+Common subdirectories: src/GvimExt and patched_src/GvimExt
+Common subdirectories: src/os_mac_rsrc and patched_src/os_mac_rsrc
+Common subdirectories: src/po and patched_src/po
+Common subdirectories: src/proto and patched_src/proto
+diff -u src/screen.c patched_src/screen.c
+--- src/screen.c 2012-01-01 16:41:32.945741392 +0100
++++ patched_src/screen.c 2012-01-01 17:17:33.209845943 +0100
+@@ -2214,6 +2214,9 @@
+ * 4. Compose the text
+ * 5. Add the text
+ * 6. set highlighting for the Visual area an other text
++ * NOTE: in patch for VimOrganizer step 4, composing text
++ * is moved up to happen as part of step 2.
++
+ */
+ col = 0;
+
+@@ -2271,11 +2274,16 @@
+ # define RL_MEMSET(p, v, l) for (ri = 0; ri < l; ++ri) \
+ ScreenAttrs[off + (p) + ri] = v
+ #endif
+-
+- /* Set all attributes of the 'number' or 'relativenumber' column and the
+- * text */
+- RL_MEMSET(col, hl_attr(HLF_FL), W_WIDTH(wp) - col);
+-
++ /*
++ * 4. Compose the folded-line string with 'foldtext', if set.
++ */
++ text = get_foldtext(wp, lnum, lnume, foldinfo, buf);
++
++ txtcol = col; /* remember where text starts */
++
++ /* Set all attributes of the 'number' column and the text */
++ RL_MEMSET(col, syn_id2attr(get_vim_var_nr(VV_FOLDHIGHLIGHT)), W_WIDTH(wp) - col);
++
+ #ifdef FEAT_SIGNS
+ /* If signs are being displayed, add two spaces. */
+ if (draw_signcolumn(wp))
+@@ -2289,10 +2297,10 @@
+ if (wp->w_p_rl)
+ /* the line number isn't reversed */
+ copy_text_attr(off + W_WIDTH(wp) - len - col,
+- (char_u *)" ", len, hl_attr(HLF_FL));
++ (char_u *)" ", len, hl_attr(HLF_SC));
+ else
+ # endif
+- copy_text_attr(off + col, (char_u *)" ", len, hl_attr(HLF_FL));
++ copy_text_attr(off + col, (char_u *)" ", len, hl_attr(HLF_SC));
+ col += len;
+ }
+ }
+@@ -2324,20 +2332,31 @@
+ if (wp->w_p_rl)
+ /* the line number isn't reversed */
+ copy_text_attr(off + W_WIDTH(wp) - len - col, buf, len,
+- hl_attr(HLF_FL));
++ hl_attr(HLF_N));
+ else
+ #endif
+- copy_text_attr(off + col, buf, len, hl_attr(HLF_FL));
++ copy_text_attr(off + col, buf, len, hl_attr(HLF_N));
+ col += len;
+ }
+ }
++ /* now set attributes for vimorganizer todo word in headline, if any */
++ /* v:todohighlight is set in user's OrgFoldText() function. . . */
++ if (get_vim_var_nr(VV_TODOHIGHLIGHT) > 0 )
++ {
++ int start=0, end;
++
++ while( *(text + start) == ' ' )
++ start++;
++ end = start;
++ while( *(text + end) != ' ' )
++ end++;
++ RL_MEMSET(start+col, syn_id2attr(get_vim_var_nr(VV_TODOHIGHLIGHT)), end - start);
++ }
+
+ /*
+ * 4. Compose the folded-line string with 'foldtext', if set.
+ */
+- text = get_foldtext(wp, lnum, lnume, foldinfo, buf);
+-
+- txtcol = col; /* remember where text starts */
++ // moved up above to happen earlier h.s.
+
+ /*
+ * 5. move the text to current_ScreenLine. Fill up with "fill_fold".
+Common subdirectories: src/tee and patched_src/tee
+Common subdirectories: src/testdir and patched_src/testdir
+diff -u src/vim.h patched_src/vim.h
+--- src/vim.h 2012-01-01 16:30:51.025710325 +0100
++++ patched_src/vim.h 2012-01-01 17:18:31.933848785 +0100
+@@ -1860,7 +1860,9 @@
+ #define VV_SEARCHFORWARD 53
+ #define VV_OLDFILES 54
+ #define VV_WINDOWID 55
+-#define VV_LEN 56 /* number of v: vars */
++#define VV_FOLDHIGHLIGHT 56
++#define VV_TODOHIGHLIGHT 57
++#define VV_LEN 58 /* number of v: vars */
+
+ #ifdef FEAT_CLIPBOARD
+
+Common subdirectories: src/VisVim and patched_src/VisVim
+Common subdirectories: src/xxd and patched_src/xxd
diff --git a/.config/vim/contrib/vim73_46_foldhighlight.patch b/.config/vim/contrib/vim73_46_foldhighlight.patch
new file mode 100644
index 0000000..152b87c
--- /dev/null
+++ b/.config/vim/contrib/vim73_46_foldhighlight.patch
@@ -0,0 +1,113 @@
+diff -u ./src/eval.c ./patched_src/eval.c
+--- ./src/eval.c 2010-08-09 13:12:14.000000000 -0700
++++ ./patched_src/eval.c 2011-08-24 12:45:30.990183200 -0700
+@@ -362,6 +362,8 @@
+ {VV_NAME("operator", VAR_STRING), VV_RO},
+ {VV_NAME("searchforward", VAR_NUMBER), 0},
+ {VV_NAME("oldfiles", VAR_LIST), 0},
++ {VV_NAME("foldhighlight", VAR_NUMBER), 0},
++ {VV_NAME("todohighlight", VAR_NUMBER), 0},
+ };
+
+ /* shorthand */
+diff -u ./src/screen.c ./patched_src/screen.c
+--- ./src/screen.c 2010-08-13 06:21:27.000000000 -0700
++++ ./patched_src/screen.c 2011-10-15 04:01:17.947926300 -0700
+@@ -2214,6 +2214,8 @@
+ * 4. Compose the text
+ * 5. Add the text
+ * 6. set highlighting for the Visual area an other text
++ * NOTE: in patch for VimOrganizer step 4, composing text
++ * is moved up to happen as part of step 2.
+ */
+ col = 0;
+
+@@ -2271,10 +2273,16 @@
+ # define RL_MEMSET(p, v, l) for (ri = 0; ri < l; ++ri) \
+ ScreenAttrs[off + (p) + ri] = v
+ #endif
++ /*
++ * 4. Compose the folded-line string with 'foldtext', if set.
++ */
++ text = get_foldtext(wp, lnum, lnume, foldinfo, buf);
++
++ txtcol = col; /* remember where text starts */
++
++ /* Set all attributes of the 'number' column and the text */
++ RL_MEMSET(col, syn_id2attr(get_vim_var_nr(VV_FOLDHIGHLIGHT)), W_WIDTH(wp) - col);
+
+- /* Set all attributes of the 'number' or 'relativenumber' column and the
+- * text */
+- RL_MEMSET(col, hl_attr(HLF_FL), W_WIDTH(wp) - col);
+
+ #ifdef FEAT_SIGNS
+ /* If signs are being displayed, add two spaces. */
+@@ -2289,10 +2297,11 @@
+ if (wp->w_p_rl)
+ /* the line number isn't reversed */
+ copy_text_attr(off + W_WIDTH(wp) - len - col,
+- (char_u *)" ", len, hl_attr(HLF_FL));
++ (char_u *)" ", len, hl_attr(HLF_SC));
+ else
+ # endif
+- copy_text_attr(off + col, (char_u *)" ", len, hl_attr(HLF_FL));
++ copy_text_attr(off + col, (char_u *)" ", len, hl_attr(HLF_SC));
++
+ col += len;
+ }
+ }
+@@ -2324,20 +2333,35 @@
+ if (wp->w_p_rl)
+ /* the line number isn't reversed */
+ copy_text_attr(off + W_WIDTH(wp) - len - col, buf, len,
+- hl_attr(HLF_FL));
++ hl_attr(HLF_N));
++ //syn_id2attr(get_vim_var_nr(VV_FOLDHIGHLIGHT)));
++
+ else
+ #endif
+- copy_text_attr(off + col, buf, len, hl_attr(HLF_FL));
++ copy_text_attr(off + col, buf, len, hl_attr(HLF_N));
++ //copy_text_attr(off + col, buf, len, syn_id2attr(get_vim_var_nr(VV_FOLDHIGHLIGHT)));
++
+ col += len;
+ }
+ }
+
++ /* now set attributes for vimorganizer todo word in headline, if any */
++ /* v:todohighlight is set in user's OrgFoldText() function. . . */
++ if (get_vim_var_nr(VV_TODOHIGHLIGHT) > 0 )
++ {
++ int start=0, end;
++
++ while( *(text + start) == ' ' )
++ start++;
++ end = start;
++ while( *(text + end) != ' ' )
++ end++;
++ RL_MEMSET(start+col, syn_id2attr(get_vim_var_nr(VV_TODOHIGHLIGHT)), end - start);
++ }
+ /*
+ * 4. Compose the folded-line string with 'foldtext', if set.
+ */
+- text = get_foldtext(wp, lnum, lnume, foldinfo, buf);
+-
+- txtcol = col; /* remember where text starts */
++ // moved up above to happen earlier h.s.
+
+ /*
+ * 5. move the text to current_ScreenLine. Fill up with "fill_fold".
+diff -u ./src/vim.h ./patched_src/vim.h
+--- ./src/vim.h 2010-07-29 11:46:39.000000000 -0700
++++ ./patched_src/vim.h 2011-08-11 14:22:52.525545700 -0700
+@@ -1842,7 +1842,9 @@
+ #define VV_OP 52
+ #define VV_SEARCHFORWARD 53
+ #define VV_OLDFILES 54
+-#define VV_LEN 55 /* number of v: vars */
++#define VV_FOLDHIGHLIGHT 55
++#define VV_TODOHIGHLIGHT 56
++#define VV_LEN 57 /* number of v: vars */
+
+ #ifdef FEAT_CLIPBOARD
+
diff --git a/.config/vim/ftplugin/haskell.vim b/.config/vim/ftplugin/haskell.vim
new file mode 100644
index 0000000..51e75fb
--- /dev/null
+++ b/.config/vim/ftplugin/haskell.vim
@@ -0,0 +1 @@
+setlocal omnifunc=necoghc#omnifunc
diff --git a/.config/vim/ftplugin/tex.vim b/.config/vim/ftplugin/tex.vim
new file mode 100644
index 0000000..adea7fd
--- /dev/null
+++ b/.config/vim/ftplugin/tex.vim
@@ -0,0 +1,7 @@
+" http://vim-latex.sourceforge.net/index.php?subject=faq&title=FAQ#faq-e-acute
+imap <buffer> <leader>it <Plug>Tex_InsertItemOnThisLine
+
+" http://vim-latex.sourceforge.net/index.php?subject=faq&title=FAQ#faq-euro-symbols
+imap <C-b> <Plug>Tex_MathBF
+imap <C-c> <Plug>Tex_MathCal
+imap <C-l> <Plug>Tex_LeftRight
diff --git a/.config/vim/keys.vim b/.config/vim/keys.vim
new file mode 100644
index 0000000..c6d4d20
--- /dev/null
+++ b/.config/vim/keys.vim
@@ -0,0 +1,75 @@
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+" Bépo configuration "
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+" [HJKL] -> {DHTN}
+" ----------------
+" corollaries
+noremap zh zj
+noremap zH zJ
+noremap zt zk
+noremap zT zK
+noremap gH gJ
+
+
+" {HJKL} <- [DHTN]
+" ----------------
+" {k} = "delete"
+noremap k d
+noremap K D
+" {l} = "until before next/previous"
+"noremap l t
+"noremap L T
+" {j} = "search after/before"
+noremap l n
+noremap L N
+
+
+" [HJKL] -> {CTSR}
+" ————————————————
+" {cr} = « gauche / droite »
+noremap c h
+noremap r l
+" {ts} = « haut / bas »
+noremap t j
+noremap s k
+" {CR} = « haut / bas de l'écran »
+noremap C H
+noremap R L
+" {TS} = « joindre / aide »
+noremap T J
+noremap S K
+" Corollaire : repli suivant / précédent
+noremap zs zj
+noremap zS zJ
+noremap zt zk
+noremap zT zK
+noremap gT gH
+
+" {HJKL} <- [CTSR]
+" ————————————————
+" {J} = « Jusqu'à » (j = suivant, J = précédant)
+noremap j t
+noremap J T
+" {L} = « Change » (h = bloc, H = jusqu'à la fin de ligne)
+noremap l c
+noremap L C
+" {H} = « Remplace » (l = caractère, L = texte)
+noremap h r
+noremap H R
+" {K} = « Substitue » (k = caractère, K = ligne)
+noremap k s
+noremap K S
+" Corollaire : correction orthographique
+noremap ]k ]s
+noremap [k [s
+
+" Désambiguation de {g}
+" —————————————————————
+" ligne écran précédente / suivante (à l'intérieur d'une phrase)
+noremap gs gk
+noremap gt gj
+
+" Added benefits
+"noremap , :
+"noremap : ,
diff --git a/.config/vim/plugin/tagbar-haskell.vim b/.config/vim/plugin/tagbar-haskell.vim
new file mode 120000
index 0000000..698a906
--- /dev/null
+++ b/.config/vim/plugin/tagbar-haskell.vim
@@ -0,0 +1 @@
+/home/gueux/builds/lushtags/plugin/tagbar-haskell.vim \ No newline at end of file
diff --git a/.config/vim/spell/es.utf-8.spl b/.config/vim/spell/es.utf-8.spl
new file mode 100644
index 0000000..62d848d
--- /dev/null
+++ b/.config/vim/spell/es.utf-8.spl
Binary files differ
diff --git a/.config/vim/spell/es.utf-8.sug b/.config/vim/spell/es.utf-8.sug
new file mode 100644
index 0000000..9064321
--- /dev/null
+++ b/.config/vim/spell/es.utf-8.sug
Binary files differ
diff --git a/.config/vim/spell/fr.utf-8.spl b/.config/vim/spell/fr.utf-8.spl
new file mode 100644
index 0000000..ff27132
--- /dev/null
+++ b/.config/vim/spell/fr.utf-8.spl
Binary files differ
diff --git a/.config/vim/spell/fr.utf-8.sug b/.config/vim/spell/fr.utf-8.sug
new file mode 100644
index 0000000..df555d2
--- /dev/null
+++ b/.config/vim/spell/fr.utf-8.sug
Binary files differ
diff --git a/.config/vim/vimoutlinerrc b/.config/vim/vimoutlinerrc
new file mode 100644
index 0000000..f57cef3
--- /dev/null
+++ b/.config/vim/vimoutlinerrc
@@ -0,0 +1,37 @@
+"Extra mappings *****************************************************
+"This mapping is fold-level and fold-state dependent
+"map <S-Down> dd p
+"map <S-Up> dd <up>P
+
+"Common Plugins
+" This variable holds name of all VO modules you want to load. Do NOT use ru
+" directly in this file, because you will get into many strange surprises. If
+" you do not want to load any VO modules leave it blank (default). This
+" variable can be freely modified in ~/.vimoutlinerrc.
+"let g:vo_modules2load = ""
+let g:vo_modules_load = "checkbox:hoist"
+
+"User Preferences ***************************************************
+let maplocalleader = ",," " this is prepended to VO key mappings
+
+"setlocal ignorecase " searches ignore case
+"setlocal smartcase " searches use smart case
+"setlocal wrapmargin=5
+"setlocal tw=78
+"setlocal tabstop=4 " tabstop and shiftwidth must match
+"setlocal shiftwidth=4 " values from 2 to 8 work well
+"setlocal background=dark " for dark backgrounds
+setlocal nowrap
+
+"Hoisting ***********************************************************
+"Uncomment and set to 1 to debug hoisting
+let g:hoistParanoia=0
+
+"Custom Colors ******************************************************
+" Uncomment this next line to force using VO on a light background
+" colorscheme vo_light
+" Uncomment this next line to force using VO on a dark background
+colorscheme vo_dark
+" Or create your own color scheme. You can find sample files in Vim's
+" colors directory. There may even be a colors directory in your own
+" $HOME/.vim directory.
diff --git a/.config/vim/vimrc b/.config/vim/vimrc
new file mode 100644
index 0000000..67e819e
--- /dev/null
+++ b/.config/vim/vimrc
@@ -0,0 +1,988 @@
+" vim not vi
+set nocompatible
+
+" Environment
+set directory=$XDG_CACHE_HOME/vim,~/,/tmp
+set backupdir=$XDG_CACHE_HOME/vim,~/,/tmp
+"set viminfo+=n$XDG_CACHE_HOME/vim/viminfo
+set viminfo+=n~/.cache/vim/viminfo
+set runtimepath=$XDG_CONFIG_HOME/vim,$XDG_DATA_HOME/vim/bundle/vundle,$XDG_CONFIG_HOME/vim/after,$VIM,$VIMRUNTIME
+"set runtimepath=~/.vim,$VIM/vimfiles,$VIMRUNTIME,$VIM/vimfiles/after,~/.vim/after
+let $MYVIMRC="$XDG_CONFIG_HOME/vim/vimrc"
+
+" remap keys, to fit a specific key layout
+source $XDG_CONFIG_HOME/vim/keys.vim
+
+""""""""""""""""
+
+" pas de bips
+set visualbell
+
+" indentation automatique avancee
+set autoindent
+
+" indentation plus intelligente
+set smartindent
+
+" !! do not set paste on startup !! invalid plugins: ultisnips, delimitmate, ...
+set nopaste
+
+" autorisation du retour arriere
+set backspace=indent,eol,start
+
+" Essaye de garder le curseur dans la même colonne quand on change de ligne
+set nostartofline
+
+" nombre de tabulation pour l'indentation
+set shiftwidth=4
+
+" nombre d'espace pour la tabulation
+"set softtabstop=2
+
+set tabstop=4
+
+"supprime les tabulations et met des espaces
+set expandtab
+
+" single space after punctuation
+set nojoinspaces
+
+set nowrapscan
+
+" vérification presence ([ ou { a la frappe de )] ou }
+set showmatch
+
+" pas de coupure de ligne par défaut
+autocmd BufRead /tmp/mutt* set tw=72
+set textwidth=79
+
+" pas de coupure de mot par défaut
+set linebreak
+
+" sauvegarde d'un fichier de backup
+set backupcopy=yes
+
+" sauvegarde automatique avant, :mak, :next, ...
+set autowrite
+
+" recherche incrémentale
+set incsearch
+
+" always statusline
+set statusline=2
+
+" set statusline
+set statusline=%<%f\ \ \|\ %o\ %h%m%r%=%-14.(%l,%c%V%)\ %P
+
+"cusor position
+set ruler
+
+" line numbers
+set number
+
+" relative line numbers
+set relativenumber
+
+" pour latex-suite
+" filetype plugin on
+
+" highlight search matches
+set hlsearch
+
+" Coloration syntaxique
+syntax on
+
+au BufRead,BufNewFile *.viki set ft=viki
+
+" gère intelligement la casse dans les recherces
+set ignorecase
+set smartcase
+
+" Va automatiquement à la ligne où on était au moment de la fermeture,
+" nécessite un fichier $HOME/.viminfo avec les droits -rw------
+if has("autocmd")
+ au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$")
+ \| exe "normal! g'\"" | endif
+endif
+
+
+" Délai raccourcis-clavier
+set tm=500
+
+" touche "<Leader>"
+"let mapleader = "<SPACE>"
+let mapleader = "_"
+let maplocalleader = "_"
+
+" viki
+let g:vikiOpenUrlWith_http = "silent !firefox %{URL}"
+
+" Sauvegarde rapide du fichier actuel
+map <F2> :w<CR>
+imap <F2> <ESC>:w<CR>
+
+" Largeur de texte standard: retours à la ligne automatiques
+" set tw=80
+
+" Formatage rapide du paragraphe courant ou de la selection
+" souris ou visuelle
+map <F6> gq}
+imap <F6> <ESC>gq}a
+vmap <F6> gq
+
+" Formatage sur une ligne seulement
+map <S-F6> gqj
+imap <S-F6> <ESC>gqj
+
+" Types de fichiers à ignorer
+set wildignore=*.dvi,*.ps,*.toc,*.log,*.pdf,*.aux
+
+" Aller dans le dossier de travail du fichier actuel
+map ,cwd :cd %:h
+
+
+"thème de couleur -- theme
+"colorscheme peachpuff
+"colorscheme brown
+"colorscheme autumn "bien pour TOhtml
+"colorscheme delek
+"colorscheme Tomorrow-Night-Bright
+
+" fond noir par défaut
+"set background=dark
+
+"commentaires plus clairs
+hi Comment ctermfg=Green
+
+
+"" {{{ 9.2 vimspell
+"
+"let loaded_vimspell = 0 " 1=Désactivé 0=activé
+"let spell_executable = "aspell"
+""let loaded_vimspell = 1
+"let spell_language_list = "fr"
+"let spell_auto_type = ''
+"let spell_insert_mode = 0
+""let spell_root_menu = "Outils."
+"" }}}
+
+" F10 active/desactive la correction orthographique
+"function! ToggleSpell()
+" if &spell
+" set nospell
+" else
+" "set spell
+" setlocal spell spelllang=fr
+" end
+"endfunction
+"noremap <F10> :call ToggleSpell()<cr>
+"inoremap <F10> <Esc> :call ToggleSpell()<cr>
+"vnoremap <F10> <Esc> :call ToggleSpell()<cr>
+
+"switch spellcheck languages
+let g:myLang = 0
+let g:myLangList = [ "nospell", "fr", "en" ]
+function! MySpellLang()
+ "loop through languages
+ let g:myLang = g:myLang + 1
+ if g:myLang >= len(g:myLangList) | let g:myLang = 0 | endif
+ if g:myLang == 0 | set nospell | endif
+ if g:myLang == 1 | setlocal spell spelllang=fr | endif
+ if g:myLang == 2 | setlocal spell spelllang=en | endif
+ echo "language:" g:myLangList[g:myLang]
+endf
+
+map <F10> :call MySpellLang()<CR>
+imap <F10> <C-o>:call MySpellLang()<CR>
+
+
+
+
+"vimspell
+au BufNewFile,BufRead *.txt setlocal spell spelllang=en,fr
+au BufNewFile,BufRead *.tex setlocal spell spelllang=en,fr
+
+au BufRead,BufNewFile *.j2 set syntax=jinja
+
+au BufRead,BufNewFile *.ino set syntax=arduino
+au BufRead,BufNewFile *.pde set syntax=arduino
+
+
+"plugin taglist: exporateur de code source
+"let Tlist_Ctags_Cmd = '/usr/bin/ctags'
+
+filetype on
+
+"let Tlist_Process_File_Always = 1
+
+"nnoremap <silent> <F8> :TlistToggle<CR>
+
+"set statusline=%<%f%=%([%{Tlist_Get_Tagname_By_Line()}]%)
+
+
+"plugin NERD_tree:explorateur de fichiers
+nnoremap <silent> <F7> :NERDTree<CR>
+
+
+" defini le style a utiliser pour indenter le code C
+set cindent
+
+"set cinoptions=>s,e0,n0,f0,{0,}0,^0,:s,=s,l0,gs,hs,ps,ts,+s,c3,C0,(2s,us,U0,w0,m0,j0,)20,*30
+
+" Omlet
+"let omlet_indent_match = 2
+"let omlet_indent_function = 2
+"let omlet_indent_let = 2
+
+" Fonctions pour fichiers LaTeX
+"au BufEnter,BufNewFile *.tex exe Flatex()
+
+" Eviter de colorer pour le plaintex
+"au BufEnter,BufNewFile *.tex setfiletype tex
+
+" Autre astuce possible, plus propre car dans la doc de Vim
+let g:tex_flavor = "latex"
+
+" IMPORTANT: grep will sometimes skip displaying the file name if you
+" search in a singe file. This will confuse Latex-Suite. Set your grep
+" program to alway generate a file-name.
+set grepprg=grep\ -nH\ $*
+
+
+" Fonctions pour fichiers HTML
+"au BufEnter *.html exe Fhtml()
+"au BufEnter *.htm exe Fhtml()
+
+" Fonctions pour fichiers CSS
+"au BufEnter *.php exe Fhtml()
+
+"function! Flatex()
+" " Codages des caract�res ISO-8859-1
+" set encoding=UTF-8
+" "set fileencoding=iso-8859-1
+"
+" " 4 espaces pour les tabulations me suffisent en LaTeX
+" set ts=4
+"
+" " Retour � la ligne (72 caract�res)
+" " set tw=72
+"
+" " Mod�les
+" map ,mod :r ~/.modele.tex<CR>ggdd
+" map ,ex :r ~/.ex.tex<CR>ggdd
+" map ,pre :r ~/.presentation.tex<CR>ggdd
+"
+" " Ouverture d'un mod�le Makefile dans une sous-fen�tre en lecture
+" " seule, � l'utilisateur de le sauvegarder s'il le souhaite.
+" " map ,mk :sp ~/.texmf/Makefile-latex<CR>
+"
+" " Sauvegarde et Compilation
+" map ,mk <ESC>:w<CR>:!make -C ./ -f ~/.texmf/Makefile-latex <CR><CR>
+" map <F3> :w<CR>:!make -C ./ -f ~/.texmf/Makefile-latex <CR><CR>
+" imap <F3> <ESC>:w<CR>:!make -C ./ -f ~/.texmf/Makefile-latex <CR><CR>a
+"
+" "set <S-F3>=
+" " Visualisaton DVI
+" map <S-F3> :!xdvi %<.dvi &<CR><CR>
+" imap <S-F3> <ESC>:!xdvi %<.dvi &<CR><CR>a
+"
+" " Sauvegarde et Compilation pdf
+" map <F4> :w<CR>:!make -C ./ -f ~/.texmf/Makefile-latex pdf<CR><CR>
+" imap <F4> <ESC>:w<CR>:!make -C ./ -f ~/.texmf/Makefile-latex pdf<CR><CR>a
+"
+" " Lancement Xfig
+" " map <F3> :!xfig &<CR><CR>
+" " imap <F3> <ESC>:!xfig &<CR><CR>
+"
+" " Lancement de votre calculatrice pr�f�r�e
+" " map <S-F3> :!kcalc &<CR><CR>
+" " imap <S-F3> <ESC>:!kcalc &<CR><CR>
+"
+" " Sauvegarde et compilation LaTeX
+" " map <F4> <ESC>:w<CR>:!latex %<.tex<CR><CR>
+" " imap <F4> <ESC>:w<CR>:!latex %<.tex<CR>a
+"
+" " Nettoyage des fichiers
+" map ,cln :!rm -f %<.aux %<.dvi %<.log %<.out %<.pdf %<.ps %<.toc %<-miformat.ps <CR>
+" imap ,cln :!rm %<.aux %<.dvi %<.log %<.out %<.pdf %<.ps %<.toc %<-miformat.ps <CR>
+"
+" " Visualisaton DVI
+" map <F5> :!kdvi %<.dvi 2> /dev/null &<CR><CR>
+" imap <F5> <ESC>:!kdvi %<.dvi 2> /dev/null &<CR><CR>a
+"
+" " Visualisaton PDF
+" map <F6> :!kpdf %<.pdf &<CR><CR>
+" imap <F6> <ESC>:!kpdf %<.pdf &<CR><CR>a
+"
+" " Conversion vers Postscript
+" "map <F7> :!dvips %<.dvi -o %<.ps <CR><CR>
+" "imap <F7> <ESC>:!dvips %<.dvi -o %<.ps <CR>
+"
+" " Visualisation Postscript
+" "map <F8> :!gv %<.ps &<CR><CR>
+"
+" " R�duction A4 vers double-A5
+" map <F7> :!psnup -2 %<.ps %<-miformat.ps; ps2pdf %<-miformat.ps<CR><CR>
+" imap <F7> <ESC>:!psnup -2 %<.ps %<-miformat.ps; ps2pdf %<-miformat.ps<CR><CR>a
+"
+" " Visualisation double-A5
+" map <S-F7> :!kpdf %<-miformat.pdf &<CR><CR>
+" imap <S-F7> :!kpdf %<-miformat.pdf &<CR><CR>a
+"
+" " Dictionnaire special LaTeX Guilhem
+" map <F2> :!sh ~/.texmf/spell_tex %<.tex<CR>
+"
+" "set <S-F4>=
+" " PDFLaTeX
+" "map <S-F4> <ESC>:w<CR>:!pdflatex %<.tex<CR>
+" "imap <S-F4> <ESC>:w<CR>:!pdflatex %<.tex<CR>a
+"
+" " Conversion DVI vers PDF + vignettes
+" "map <F9> :!dvipdft %<.dvi <CR>
+" "imap <F9> <ESC>:!dvipdft %<.dvi <CR>a
+"
+" " Visualisation PDF
+" "map <S-F5> :!acroread %<.pdf &<CR>
+" "imap <S-F5> <ESC>:!acroread %<.pdf &<CR>
+"
+" " TeX, LaTeX
+" imap ,tex \TeX{}
+" imap ,la \LaTeX{}
+"
+" " Accents
+" imap é \'e
+" imap è \`e
+" imap ê \^e
+" imap à \`a
+" imap â \^a
+" imap î \^i
+" imap ô \^o
+" imap û \^u
+" imap ü \"u
+" imap ù \`u
+" imap ï \"i
+" imap ë \"e
+" imap ä \"a
+" imap ö \"o
+" imap ç \c{c}
+"
+" " Euro
+" imap ,eu \euro{}
+"
+" " Insertion fraction
+" imap ,fr \dfrac{}{}<ESC>2hi
+" imap ,tfr \tfrac{}{}<ESC>2hi
+"
+" " Taille math standard
+" imap ,dst \displaystyle{}<ESC>i
+" vmap ,dst di\displaystyle{<ESC>pa}
+"
+" " Insertion d'une figure
+" imap ,igr \includegraphics{}<ESC>i
+" vmap ,igr di\includegraphics{<ESC>pa}
+"
+" imap ,ppr \parpic[r]{\includegraphics{}}<ESC>hi
+" imap ,ppl \parpic[l]{\includegraphics{}}<ESC>hi
+"
+" vmap ,ppr di\parpic[r]{\includegraphics{<ESC>pa}}
+" vmap ,ppl di\parpic[l]{\includegraphics{<ESC>pa}}
+"
+" " Table des mati�res
+" imap ,toc \tableofcontents
+"
+" " (Sous-(sous-)Section num�rot�e
+" imap ,s \section{}<ESC>i
+" imap ,ss \subsection{}<ESC>i
+" imap ,sss \subsubsection{}<ESC>i
+" vmap ,s di\section{<ESC>pa}
+" vmap ,ss di\subsection{<ESC>pa}
+" vmap ,sss di\subsubsection{<ESC>pa}
+"
+" " (Sous-)Section non-num�rot�e
+" imap ,s* \section*{}<ESC>i
+" imap ,ss* \subsection*{}<ESC>i
+" imap ,sss* \subsubsection*{}<ESC>i
+" vmap ,s* di\section*{<ESC>pa}
+" vmap ,ss* di\subsection*{<ESC>pa}
+" vmap ,sss* di\subsubsection*{<ESC>pa}
+"
+" " Marques de modifications
+" imap ,chb \begin{changebar}<CR>\end{changebar}<ESC>O
+" vmap ,chb di\begin{changebar}<CR>\end{changebar}<ESC>O<ESC>p
+"
+" " Environnement quelconque
+" imap ,env <ESC>v0di\begin{<ESC>pa}<CR><CR>\end{<ESC>pa}<ESC>ka
+" vmap ,env di\begin{<ESC>pa}<CR><CR>\end{<ESC>pa}<ESC>ka
+"
+" " Retour ou saut de ligne
+" imap ,cr \\ <CR>
+"
+" " Saut de ligne justifi�
+" imap ,lb \linebreak
+"
+" " Saut de page
+" imap ,pb \pagebreak
+"
+" " Gros saut de ligne
+" imap ,bs \bigskip<CR>
+"
+" " Ligatures
+" imap ,oe \oe{}
+"
+" " Mode maths en ligne
+" imap ,$ $$<ESC>i
+" vmap ,$ di$<ESC>pa$
+"
+" " Mode maths pr�sentation
+" imap ,$$ $$<CR>$$<ESC>O
+" vmap ,$$ di$$<CR>$$<ESC>O<ESC>p
+"
+" " Texte normal en mode maths
+" imap ,rm \textrm{}<ESC>i
+"
+" " Racine carr�e
+" imap ,rc \sqrt{}<ESC>i
+" vmap ,rc di\sqrt{<ESC>pa}
+"
+" " Pi
+" imap ,pi \pi
+" imap ,Pi \Pi
+" " Angle
+" imap ,wh \widehat{}<ESC>i
+" imap _cos \cos
+" imap _sin \sin
+" imap _tan \tan
+"
+" " Fl�che fonction
+" imap ,lm \longmapsto<ESC>a
+"
+" " Signe multipli�
+" imap ,* \times
+"
+" " Sign� divis�
+" imap ,/ \div
+"
+" " Centrage
+" imap ,c \begin{center}<CR>\end{center}<ESC>O
+" vmap ,c di\begin{center}<CR>\end{center}<ESC>O<ESC>p
+"
+" " Caract�res machine � �crire
+" imap ,tt \texttt{}<ESC>i
+" vmap ,tt di\texttt{<ESC>pa}
+"
+" " Caract�res gras
+" imap ,bf \textbf{}<ESC>i
+" vmap ,bf di\textbf{}<ESC>Pi
+"
+" " Soulignement
+" imap ,_ \underline{}<ESC>i
+" vmap ,_ di\underline{<ESC>pa}
+"
+" " Caract�res pench�s
+" imap ,sl \textsl{}<ESC>i
+" vmap ,sl di\textsl{<ESC>pa}
+"
+" " Caract�res italiques
+" imap ,i \textit{}<ESC>i
+" vmap ,i di\textit{<ESC>pa}
+"
+" " Petites capitales
+" imap ,sc \textsc{}<ESC>i
+" vmap ,sc di\textsc{<ESC>pa}
+"
+" " Caligraphiques math
+" imap ,mc \mathscr{}<ESC>i
+" vmap ,mc di\mathscr{<ESC>pa}
+"
+" " Ensembles math
+" imap ,mb \mathbb{}<ESC>i
+" vmap ,mb di\mathbb{<ESC>pa}
+"
+" " Ensembles
+" imap ,bb \mathbb{}<ESC>i
+" vmap ,bb di\mathbb{<ESC>pa}
+"
+" " Verbatim
+" imap ,vb+ \verb++<ESC>i
+" vmap ,vb+ di\verb+<ESC>pa+
+"
+" imap ,vbt \begin{verbatim}<CR>\end{verbatim}<ESC>O
+" vmap ,vbt di\begin{verbatim}<CR>\end{verbatim}<ESC>O<ESC>p
+"
+" " Vecteur
+" imap ,v \overrightarrow{}<ESC>i
+" vmap ,v di\overrightarrow{<ESC>pa}
+"
+" " Logarithmes, exponentielles
+" imap ,ln \ln{}<ESC>i
+" imap ,exp \exp{}<ESC>i
+"
+" vmap ,ln di\ln{<ESC>pa}
+" vmap ,exp di\exp{<ESC>pa}
+"
+" " Infini
+" imap ,inf \infty{}
+"
+" " Fant�me
+" imap ,ph \phantom{}<ESC>i
+" vmap ,ph di\phantom{<ESC>pa}
+"
+" " Insertion tableau
+" imap ,tab \begin{tabular}[t]{}<CR>\end{tabular}<ESC>k$i
+" imap ,tabc \begin{tabular}[c]{}<CR>\end{tabular}<ESC>k$i
+" imap ,hl \hline
+"
+" imap ,ar \begin{array}[t]{}<CR>\end{array}<ESC>O
+"
+" vmap ,tab S\begin{tabular}[t]{}<CR>\end{tabular}<ESC>kp
+"
+" " = en tableau math
+" imap _= &<SPACE>=<SPACE>&<SPACE>
+"
+" " Accolades syst�mes
+" imap ,{ \left\lbrace{}
+" imap ,. \right.
+"
+" " Liste
+" imap ,ite \begin{itemize}<CR>\end{itemize}<ESC>O\item<SPACE>
+" imap ,it \item
+"
+" " Enumeration
+" imap ,en \begin{enumerate}<CR>\end{enumerate}<ESC>O\item<SPACE>
+"
+" " Description
+" imap ,des \begin{description}<CR>\end{description}<ESC>O\item[]<ESC>i
+" imap ,itd \item[]<ESC>i
+"
+" " Au fer � droite
+" imap ,r \begin{flushright}<CR>\end{flushright}<ESC>O
+" vmap ,r di\begin{flushright}<CR>\end{flushright}<ESC>O<ESC>p
+"
+" " Au fer � gauche
+" imap ,l \begin{flushleft}<CR>\end{flushleft}<ESC>O
+" vmap ,l di\begin{flushleft}<CR>\end{flushleft}<ESC>O<ESC>p
+"
+" " Alin�a
+" imap ,al \indent{}
+"
+" " Pas d'alin�a
+" imap ,noi \noindent{}
+"
+" " Largeur de texte
+" imap ,tw \textwidth
+"
+" " Espaces suppl�mentaires
+" imap ,, \,
+" imap ,; \;
+" imap ,q \quad
+" imap ,qq \qquad
+"
+" " Espacement horizontal ou vertical
+" imap ,hs \hspace{}<ESC>i
+" imap ,vs \vspace{}<ESC>i
+"
+" " Remplissage horizontal ou vertical
+" imap ,hf \hfill
+" imap ,vf \vfill
+"
+"
+" " Parenth�ses
+" imap ,( \left(
+" imap ,) \right)
+" imap ,() \left( \right)<ESC>8hi
+"
+" " Crochets
+" imap ,[ \left[
+" imap ,] \right]
+" imap ,dcr \left[ \right]<ESC>8hi
+"
+"
+" " Rien � droite
+" imap ,. \right.
+"
+" " Environ �gal
+" imap ,= \simeq
+"
+" " Diff�rent
+" imap ,n= \not=
+"
+" " In�galit�s
+" imap ,< \leqslant{}
+" imap ,> \geqslant{}
+"
+" " �quivalences
+" imap ,eq \Longleftrightarrow{}
+"
+" " Bo�tes
+" imap ,fb \fbox{}<ESC>i
+" vmap ,fb s\fbox{}<ESC>PA
+"
+" " Num�ro
+" imap ,no \no{}<ESC>i
+" imap ,No \No{}<ESC>i
+"
+" " Renvois
+" imap ,fn \,\footnote{}<ESC>i
+"
+" " Liens
+" imap ,url \url{}<ESC>i
+" imap ,hr \href{}{}<ESC>2hi
+"
+" vmap ,url di\url{<ESC>pa}
+" vmap ,hr di\href{}{<ESC>pa}
+"endfunction
+"
+"function! Fhtml()
+" " Codages des caract�res ISO-8859-1
+" set encoding=utf-8
+" "set fileencoding=iso-8859-1
+"
+" " Mod�les
+" map ,mod :r ~/site/modele.html<CR>ggdd
+"
+" " Sauvegarde sans quitter le mode insertion si mode insertion il y
+" " avait.
+" map <F2> <ESC>:w<CR>
+" imap <F2> <ESC>:w<CR>
+"
+" " Sauvegarde en quittant le mode insertion
+"
+" " Visualisation
+" map <F5> :!firefox %:p &<CR><CR>
+" imap <F5> <ESC>:!firefox %:p &<CR><CR>a
+"
+" " FTP
+" map <F3> :!gftp &<CR><CR>
+" imap <F3> <ESC>:!gftp &<CR><CR>a
+"
+" " 4 espaces pour les tabulations suffisent en HTML
+" set ts=4
+"
+" " Pas de retour � la ligne
+" set tw=0
+"
+" " Insertion de saut � la ligne
+" imap ,br <cr><br><ESC>o
+"
+" " Headers 1, 2, 3 et 4
+" imap ,h1 <h1></h1><ESC>4hi
+" vmap ,h1 di<h1><ESC>pa</h1>
+"
+" imap ,h2 <h2></h2><ESC>4hi
+" vmap ,h2 di<h2><ESC>pa</h2>
+"
+" imap ,h3 <h3></h3><ESC>4hi
+" vmap ,h3 di<h3><ESC>pa</h3>
+"
+" imap ,h4 <h4></h4><ESC>4hi
+" vmap ,h4 di<h4><ESC>pa</h4>
+"
+" " Environnement div quelconque
+" imap ,div <div class=""><CR></div><ESC>?"<CR>i
+" vmap ,div di<div class=""><CR></div><ESC>O<ESC>p
+"
+" " Centrage
+" imap ,c <div align="center"><CR></div><ESC>O
+" vmap ,c di<div align="center"><CR></div><ESC>O<ESC>p
+"
+" " Justifi�
+" imap ,j <div align="justify"><CR></div><ESC>O
+" vmap ,j di<div align="justify"><CR></div><ESC>O<ESC>p
+"
+" " Paragraphe
+" imap ,p <p>
+"
+" " Gras
+" imap ,b <strong></strong><ESC>8hi
+" vmap ,b di<strong><ESC>pa</strong>
+"
+" " Italique
+" imap ,i <em></em><ESC>4hi
+" vmap ,i di<em><ESC>pa</em>
+"
+" " Image
+" imap ,img <img src="" border="0" alt=""><ESC>19hi
+" vmap ,img di<img src="" border="0" alt=""><ESC>19hPa
+"
+" " Liens
+" imap ,lnk <a href=""></a><ESC>5hi
+" vmap ,lnk di<a href="<ESC>pa"><ESC>pa</a>
+"
+" imap ,eml <a href="mailto:?Subject="></a><ESC>3hi
+" vmap ,eml <a href="mailto:?Subject="><ESC>pa</a>
+"
+" " �tiquettes (liens internes)
+" imap ,lnh <a href="#"></a><ESC>5hi
+" imap ,lnn <a name=""></a><ESC>5hi
+" vmap ,lnn di<a name="<ESC>pa"><ESC>pa</a>
+"
+" " Choix de fonte
+" imap ,ff <font face=""></font><ESC>8hi
+" vmap ,ff di<font face=""><ESC>pa</font>
+"
+" " Fonte courier
+" imap ,ffc <font face="courier"></font><ESC>6hi
+" vmap ,ffc di<font face="courier"><ESC>pa</font>
+"
+" " Taille de police
+" imap ,fs <font size=""></font><ESC>8hi
+" vmap ,fs di<font size=""><ESC>pa</font>
+"
+" " Taille de police 5
+" imap ,fs5 <font size="5"></font><ESC>6hi
+" vmap ,fs5 di<font size="5"><ESC>pa</font>
+"
+" " Texte pr�formatt�
+" imap ,pre <pre><CR></pre><ESC>O
+" vmap ,pre di<pre><CR></pre><ESC>O<ESC>p
+"
+" " Commentaire
+" imap ,com <!--<CR>--><ESC>kA
+" vmap ,com di<!--<CR>--><ESC>O<ESC>p
+"
+" " Insertion balises de base
+" map ,int <ESC>:r modele.html<CR>i
+" imap ,int <ESC>:r modele.html<CR>i
+"
+" " Insertion ic�ne-titre
+" imap ,ic <link rel="icon" type="image/png" href="favicon.ico/">
+" vmap ,ic di<link rel="icon" type="image/png" href=\"<ESC>pa\">
+"
+" " Visualisation du fichier courant dans Mozilla
+" " Attention : Mozilla exige le chemin absolu complet
+" " map <F5> :w<CR>:!mozilla %:p &<CR>
+" " imap <F5> <ESC>:w<CR>:!mozilla %:p &<CR>
+"
+" " Modification du fichier courant dans Mozilla
+" " Attention : Mozilla exige le chemin absolu complet
+" " map <S-F5> :w<CR>:!mozilla -editor %:p &<CR>
+" " imap <S-F5> <ESC>:w<CR>:!mozilla -editor %:p &<CR>
+"
+" " Tableau
+" imap ,tab <table><CR></table><ESC>O
+" vmap ,tab di<table><CR></table><ESC>O<ESC>p
+"
+" imap ,tr <tr><cr></tr><ESC>a
+" vmap ,tr di<tr><CR></tr><ESC>O<ESC>p
+"
+" imap ,td <td></td><ESC>4hi
+" vmap ,td di<td><ESC>pa</td>
+"
+" " Code
+" imap ,co <code></code><ESC>6hi
+" vmap ,co di<code><ESC>pa</code>
+"
+" " Liste (sans num�rotation)
+" imap ,ul <ul><CR></ul><ESC>O
+" vmap ,ul di<ul><CR></ul><ESC>O<ESC>p
+"
+" " Liste (avec num�rotation)
+" imap ,ol <ol><CR></ol><ESC>O
+" vmap ,ol di<ol><CR></ol><ESC>O<ESC>p
+"
+" " �l�ment de liste
+" imap ,li <li><CR></li><ESC>O
+" vmap ,li di<li><CR></li><ESC>O<ESC>p
+"
+" " Liste descriptive
+" " environnement
+" imap ,dl <dl><CR></dl><ESC>O
+" vmap ,dl di<dl><CR></dl><ESC>O<ESC>p
+"
+" " �l�ment
+" imap ,dt <dt><CR></dt><ESC>O
+" vmap ,dt di<dt><CR></dt><ESC>O<ESC>p
+"
+" "description
+" imap ,dd <dd><CR></dd><ESC>O
+" vmap ,dd di<dd><CR></dd><ESC>O<ESC>p
+"
+" " Indice, exposant
+" " imap ,ind
+" imap ,sup <sup></sup><ESC>5hi
+"
+"endfunction
+"
+"function! Fcss()
+" " Commentaires
+" imap ,com /**/<ESC>hi
+" vmap ,com s/*<CR>*/<ESC>O<ESC>p
+"endfunction
+
+" omnicompletion
+filetype plugin on
+"set ofu=syntaxcomplete#Complete
+autocmd FileType python set omnifunc=pythoncomplete#Complete
+
+" minibufexpl plugin
+" let g:miniBufExplMapWindowNavVim = 1
+" let g:miniBufExplMapWindowNavArrows = 1
+" let g:miniBufExplMapCTabSwitchBufs = 1
+" let g:miniBufExplModSelTarget = 1
+
+
+" taglist plugin
+let $Tlist_Ctags_Cmd='/usr/bin/ctags'
+
+
+autocmd FileType yaml :setlocal foldmethod=indent
+
+
+" vundle
+" required by vundle
+filetype off
+call vundle#rc('$XDG_DATA_HOME/vim/bundle')
+Bundle 'gmarik/vundle'
+"Bundle 'minibufexpl.vim'
+Bundle 'NrrwRgn'
+Bundle 'utl.vim'
+Bundle 'taglist.vim'
+Bundle 'TaskList.vim'
+Bundle 'searchfold.vim'
+"Bundle 'gitdiff.vim'
+Bundle 'VimOrganizer'
+Bundle 'compview'
+Bundle 'Jinja'
+"Bundle 'tlib'
+Bundle 'VikiDeplate'
+Bundle 'vim-scripts/calendar.vim--Matsumoto'
+Bundle 'lbdbq'
+"Bundle 'LaTeX-Suite-aka-Vim-LaTeX'
+"Bundle 'tpope/vim-fugitive'
+Bundle 'Lokaltog/vim-easymotion'
+Bundle 'rstacruz/sparkup', {'rtp': 'vim/'}
+Bundle 'klen/python-mode'
+"Bundle 'msanders/snipmate.vim'
+Bundle 'SirVer/ultisnips'
+"Bundle 'honza/vim-snippets'
+"Bundle 'Lokaltog/powerline', {'rtp': 'powerline/powerline/bindings/vim'}
+"Bundle 'Lokaltog/powerline'
+Bundle 'scrooloose/nerdcommenter'
+"Bundle 'scrooloose/syntastic'
+Bundle 'Vimchant'
+Bundle 'editorconfig/editorconfig-vim'
+Bundle 'openscad.vim'
+"" YouCompleteMe requires vim > 7.3.584
+"Bundle 'Valloric/YouCompleteMe'
+Bundle 'Valloric/MatchTagAlways'
+"Bundle 'lukerandall/haskellmode-vim'
+Bundle 'Twinside/vim-hoogle'
+Bundle 'Arduino-syntax-file'
+Bundle 'Rykka/riv.vim'
+Bundle 'mhinz/vim-signify'
+Bundle 'majutsushi/tagbar'
+"Bundle 'altercation/vim-colors-solarized'
+Bundle 'tpope/vim-surround'
+Bundle 'Raimondi/delimitMate'
+Bundle 'Shougo/vimproc.vim'
+Bundle 'eagletmt/ghcmod-vim'
+Bundle 'dag/vim2hs'
+"Bundle 'godlygeek/tabular'
+Bundle 'pbrisbin/html-template-syntax'
+Bundle 'kana/vim-textobj-user'
+Bundle 'kana/vim-textobj-indent'
+Bundle 'eagletmt/neco-ghc'
+Bundle 'bitc/vim-hdevtools'
+"Bundle 'ekalinin/Dockerfile.vim'
+"Bundle 'ervandew/supertab'
+"" My Bundles here:
+""
+"" original repos on github
+"Bundle 'Lokaltog/vim-easymotion'
+"Bundle 'rstacruz/sparkup', {'rtp': 'vim/'}
+"Bundle 'tpope/vim-rails.git'
+"" vim-scripts repos
+"Bundle 'L9'
+"Bundle 'FuzzyFinder'
+"" non github repos
+"Bundle 'git://git.wincent.com/command-t.git'
+"Bundle 'minibufexpl'
+" Indentation specifique au langage
+filetype plugin indent on
+
+"" latex-suite
+let g:Tex_DefaultTargetFormat='pdf'
+
+autocmd Filetype haskell set ai
+autocmd Filetype haskell set expandtab
+autocmd Filetype haskell set tabstop=4
+autocmd Filetype haskell set shiftwidth=4
+autocmd Filetype mail set ai
+autocmd Filetype mail set tabstop=4
+autocmd Filetype mail set shiftwidth=4
+autocmd Filetype ruby set ai
+autocmd Filetype ruby set tabstop=2
+autocmd Filetype ruby set shiftwidth=2
+
+" switch on syntax highlighting
+syntax on
+
+" enable filetype detection, plus loading of filetype plugins
+filetype plugin on
+
+" disable netrw history
+let g:netrw_dirhistmax = 0
+
+" configure browser for haskell_doc.vim
+let g:haddock_browser = "/usr/bin/iceweasel"
+
+let g:ft_ignore_pat = '\.org'
+au! BufRead,BufWrite,BufWritePost,BufNewFile *.org
+au BufEnter *.org call org#SetOrgFileType()
+command! OrgCapture :call org#CaptureBuffer()
+command! OrgCaptureFile :call org#OpenCaptureFile()
+
+" reminders
+autocmd Filetype remind set tw=0
+
+" powerline
+"set rtp+=$XDG_DATA_HOME/vim/bundle/powerline/powerline/bindings/vim
+"set rtp+=/usr/lib/python2.7/dist-packages/powerline/bindings/vim
+set rtp+=/usr/share/pyshared/powerline/bindings/vim
+set laststatus=2
+
+"" solarized
+"set background=dark
+"let g:solarized_termtrans=1
+"let g:solarized_termcolors=256
+"let g:solarized_contrast="high"
+"let g:solarized_visibility="high"
+"colorscheme solarized
+
+" surround
+let g:surround_no_mappings=1
+nmap ds <Plug>Dsurround
+nmap js <Plug>Csurround
+nmap ys <Plug>Ysurround
+nmap yS <Plug>YSurround
+nmap yss <Plug>Yssurround
+nmap ySs <Plug>YSsurround
+nmap ySS <Plug>YSsurround
+xmap S <Plug>VSurround
+xmap gS <Plug>VgSurround
+
+" delimitMate
+au FileType mail let b:delimitMate_autoclose = 0
+
+" vim2hs
+let g:hpaste_author = 'gueux'
+
+" neco-ghc
+let g:necoghc_enable_detailed_browse = 1
+
+let g:ycm_semantic_triggers = {'haskell' : ['.']}
+
+" make YCM compatible with UltiSnips (using supertab)
+let g:ycm_key_list_select_completion = ['<C-n>', '<Down>']
+let g:ycm_key_list_previous_completion = ['<C-p>', '<Up>']
+let g:SuperTabDefaultCompletionType = '<C-n>'
+let g:UltiSnipsListSnippets="<C-b>"
+
+"" vim-youcompleteme
+set rtp+=/usr/share/vim-youcompleteme
+
+"" vim-syntastic, vim-fugitive, ...
+set rtp+=/usr/share/vim/addons
+
+"" vim-outliner
+au! BufRead,BufNewFile *.otl setfiletype vo_base