Init
This commit is contained in:
		
						commit
						ffd1b4a58f
					
				|  | @ -0,0 +1,328 @@ | |||
| " pathogen.vim - path option manipulation | ||||
| " Maintainer:   Tim Pope <http://tpo.pe/> | ||||
| " Version:      2.2 | ||||
| 
 | ||||
| " Install in ~/.vim/autoload (or ~\vimfiles\autoload). | ||||
| " | ||||
| " For management of individually installed plugins in ~/.vim/bundle (or | ||||
| " ~\vimfiles\bundle), adding `call pathogen#infect()` to the top of your | ||||
| " .vimrc is the only other setup necessary. | ||||
| " | ||||
| " The API is documented inline below.  For maximum ease of reading, | ||||
| " :set foldmethod=marker | ||||
| 
 | ||||
| if exists("g:loaded_pathogen") || &cp | ||||
|   finish | ||||
| endif | ||||
| let g:loaded_pathogen = 1 | ||||
| 
 | ||||
| function! s:warn(msg) | ||||
|   if &verbose | ||||
|     echohl WarningMsg | ||||
|     echomsg a:msg | ||||
|     echohl NONE | ||||
|   endif | ||||
| endfunction | ||||
| 
 | ||||
| " Point of entry for basic default usage.  Give a relative path to invoke | ||||
| " pathogen#incubate() (defaults to "bundle/{}"), or an absolute path to invoke | ||||
| " pathogen#surround().  For backwards compatibility purposes, a full path that | ||||
| " does not end in {} or * is given to pathogen#runtime_prepend_subdirectories() | ||||
| " instead. | ||||
| function! pathogen#infect(...) abort " {{{1 | ||||
|   for path in a:0 ? reverse(copy(a:000)) : ['bundle/{}'] | ||||
|     if path =~# '^[^\\/]\+$' | ||||
|       call s:warn('Change pathogen#infect('.string(path).') to pathogen#infect('.string(path.'/{}').')') | ||||
|       call pathogen#incubate(path . '/{}') | ||||
|     elseif path =~# '^[^\\/]\+[\\/]\%({}\|\*\)$' | ||||
|       call pathogen#incubate(path) | ||||
|     elseif path =~# '[\\/]\%({}\|\*\)$' | ||||
|       call pathogen#surround(path) | ||||
|     else | ||||
|       call s:warn('Change pathogen#infect('.string(path).') to pathogen#infect('.string(path.'/{}').')') | ||||
|       call pathogen#surround(path . '/{}') | ||||
|     endif | ||||
|   endfor | ||||
|   call pathogen#cycle_filetype() | ||||
|   return '' | ||||
| endfunction " }}}1 | ||||
| 
 | ||||
| " Split a path into a list. | ||||
| function! pathogen#split(path) abort " {{{1 | ||||
|   if type(a:path) == type([]) | return a:path | endif | ||||
|   let split = split(a:path,'\\\@<!\%(\\\\\)*\zs,') | ||||
|   return map(split,'substitute(v:val,''\\\([\\,]\)'',''\1'',"g")') | ||||
| endfunction " }}}1 | ||||
| 
 | ||||
| " Convert a list to a path. | ||||
| function! pathogen#join(...) abort " {{{1 | ||||
|   if type(a:1) == type(1) && a:1 | ||||
|     let i = 1 | ||||
|     let space = ' ' | ||||
|   else | ||||
|     let i = 0 | ||||
|     let space = '' | ||||
|   endif | ||||
|   let path = "" | ||||
|   while i < a:0 | ||||
|     if type(a:000[i]) == type([]) | ||||
|       let list = a:000[i] | ||||
|       let j = 0 | ||||
|       while j < len(list) | ||||
|         let escaped = substitute(list[j],'[,'.space.']\|\\[\,'.space.']\@=','\\&','g') | ||||
|         let path .= ',' . escaped | ||||
|         let j += 1 | ||||
|       endwhile | ||||
|     else | ||||
|       let path .= "," . a:000[i] | ||||
|     endif | ||||
|     let i += 1 | ||||
|   endwhile | ||||
|   return substitute(path,'^,','','') | ||||
| endfunction " }}}1 | ||||
| 
 | ||||
| " Convert a list to a path with escaped spaces for 'path', 'tag', etc. | ||||
| function! pathogen#legacyjoin(...) abort " {{{1 | ||||
|   return call('pathogen#join',[1] + a:000) | ||||
| endfunction " }}}1 | ||||
| 
 | ||||
| " Remove duplicates from a list. | ||||
| function! pathogen#uniq(list) abort " {{{1 | ||||
|   let i = 0 | ||||
|   let seen = {} | ||||
|   while i < len(a:list) | ||||
|     if (a:list[i] ==# '' && exists('empty')) || has_key(seen,a:list[i]) | ||||
|       call remove(a:list,i) | ||||
|     elseif a:list[i] ==# '' | ||||
|       let i += 1 | ||||
|       let empty = 1 | ||||
|     else | ||||
|       let seen[a:list[i]] = 1 | ||||
|       let i += 1 | ||||
|     endif | ||||
|   endwhile | ||||
|   return a:list | ||||
| endfunction " }}}1 | ||||
| 
 | ||||
| " \ on Windows unless shellslash is set, / everywhere else. | ||||
| function! pathogen#separator() abort " {{{1 | ||||
|   return !exists("+shellslash") || &shellslash ? '/' : '\' | ||||
| endfunction " }}}1 | ||||
| 
 | ||||
| " Convenience wrapper around glob() which returns a list. | ||||
| function! pathogen#glob(pattern) abort " {{{1 | ||||
|   let files = split(glob(a:pattern),"\n") | ||||
|   return map(files,'substitute(v:val,"[".pathogen#separator()."/]$","","")') | ||||
| endfunction "}}}1 | ||||
| 
 | ||||
| " Like pathogen#glob(), only limit the results to directories. | ||||
| function! pathogen#glob_directories(pattern) abort " {{{1 | ||||
|   return filter(pathogen#glob(a:pattern),'isdirectory(v:val)') | ||||
| endfunction "}}}1 | ||||
| 
 | ||||
| " Turn filetype detection off and back on again if it was already enabled. | ||||
| function! pathogen#cycle_filetype() " {{{1 | ||||
|   if exists('g:did_load_filetypes') | ||||
|     filetype off | ||||
|     filetype on | ||||
|   endif | ||||
| endfunction " }}}1 | ||||
| 
 | ||||
| " Check if a bundle is disabled.  A bundle is considered disabled if it ends | ||||
| " in a tilde or its basename or full name is included in the list | ||||
| " g:pathogen_disabled. | ||||
| function! pathogen#is_disabled(path) " {{{1 | ||||
|   if a:path =~# '\~$' | ||||
|     return 1 | ||||
|   elseif !exists("g:pathogen_disabled") | ||||
|     return 0 | ||||
|   endif | ||||
|   let sep = pathogen#separator() | ||||
|   let blacklist = g:pathogen_disabled | ||||
|   return index(blacklist, strpart(a:path, strridx(a:path, sep)+1)) != -1 && index(blacklist, a:path) != 1 | ||||
| endfunction "}}}1 | ||||
| 
 | ||||
| " Prepend the given directory to the runtime path and append its corresponding | ||||
| " after directory.  If the directory is already included, move it to the | ||||
| " outermost position.  Wildcards are added as is.  Ending a path in /{} causes | ||||
| " all subdirectories to be added (except those in g:pathogen_disabled). | ||||
| function! pathogen#surround(path) abort " {{{1 | ||||
|   let sep = pathogen#separator() | ||||
|   let rtp = pathogen#split(&rtp) | ||||
|   if a:path =~# '[\\/]{}$' | ||||
|     let path = fnamemodify(a:path[0:-4], ':p:s?[\\/]\=$??') | ||||
|     let before = filter(pathogen#glob_directories(path.sep.'*'), '!pathogen#is_disabled(v:val)') | ||||
|     let after  = filter(reverse(pathogen#glob_directories(path.sep."*".sep."after")), '!pathogen#is_disabled(v:val[0:-7])') | ||||
|     call filter(rtp,'v:val[0:strlen(path)-1] !=# path') | ||||
|   else | ||||
|     let path = fnamemodify(a:path, ':p:s?[\\/]\=$??') | ||||
|     let before = [path] | ||||
|     let after = [path . sep . 'after'] | ||||
|     call filter(rtp, 'index(before + after, v:val) == -1') | ||||
|   endif | ||||
|   let &rtp = pathogen#join(before, rtp, after) | ||||
|   return &rtp | ||||
| endfunction " }}}1 | ||||
| 
 | ||||
| " Prepend all subdirectories of path to the rtp, and append all 'after' | ||||
| " directories in those subdirectories.  Deprecated. | ||||
| function! pathogen#runtime_prepend_subdirectories(path) " {{{1 | ||||
|   call s:warn('Change pathogen#runtime_prepend_subdirectories('.string(a:path).') to pathogen#surround('.string(a:path.'/{}').')') | ||||
|   return pathogen#surround(a:path . pathogen#separator() . '{}') | ||||
| endfunction " }}}1 | ||||
| 
 | ||||
| " For each directory in the runtime path, add a second entry with the given | ||||
| " argument appended.  If the argument ends in '/{}', add a separate entry for | ||||
| " each subdirectory.  The default argument is 'bundle/{}', which means that | ||||
| " .vim/bundle/*, $VIM/vimfiles/bundle/*, $VIMRUNTIME/bundle/*, | ||||
| " $VIM/vim/files/bundle/*/after, and .vim/bundle/*/after will be added (on | ||||
| " UNIX). | ||||
| function! pathogen#incubate(...) abort " {{{1 | ||||
|   let sep = pathogen#separator() | ||||
|   let name = a:0 ? a:1 : 'bundle/{}' | ||||
|   if "\n".s:done_bundles =~# "\\M\n".name."\n" | ||||
|     return "" | ||||
|   endif | ||||
|   let s:done_bundles .= name . "\n" | ||||
|   let list = [] | ||||
|   for dir in pathogen#split(&rtp) | ||||
|     if dir =~# '\<after$' | ||||
|       if name =~# '{}$' | ||||
|         let list +=  filter(pathogen#glob_directories(substitute(dir,'after$',name[0:-3],'').'*[^~]'.sep.'after'), '!pathogen#is_disabled(v:val[0:-7])') + [dir] | ||||
|       else | ||||
|         let list += [dir, substitute(dir, 'after$', '', '') . name . sep . 'after'] | ||||
|       endif | ||||
|     else | ||||
|       if name =~# '{}$' | ||||
|         let list +=  [dir] + filter(pathogen#glob_directories(dir.sep.name[0:-3].'*[^~]'), '!pathogen#is_disabled(v:val)') | ||||
|       else | ||||
|         let list += [dir . sep . name, dir] | ||||
|       endif | ||||
|     endif | ||||
|   endfor | ||||
|   let &rtp = pathogen#join(pathogen#uniq(list)) | ||||
|   return 1 | ||||
| endfunction " }}}1 | ||||
| 
 | ||||
| " Deprecated alias for pathogen#incubate(). | ||||
| function! pathogen#runtime_append_all_bundles(...) abort " {{{1 | ||||
|   if a:0 | ||||
|     call s:warn('Change pathogen#runtime_append_all_bundles('.string(a:1).') to pathogen#incubate('.string(a:1.'/{}').')') | ||||
|   else | ||||
|     call s:warn('Change pathogen#runtime_append_all_bundles() to pathogen#incubate()') | ||||
|   endif | ||||
|   return call('pathogen#incubate', map(copy(a:000),'v:val . "/{}"')) | ||||
| endfunction | ||||
| 
 | ||||
| let s:done_bundles = '' | ||||
| " }}}1 | ||||
| 
 | ||||
| " Invoke :helptags on all non-$VIM doc directories in runtimepath. | ||||
| function! pathogen#helptags() abort " {{{1 | ||||
|   let sep = pathogen#separator() | ||||
|   for glob in pathogen#split(&rtp) | ||||
|     for dir in split(glob(glob), "\n") | ||||
|       if (dir.sep)[0 : strlen($VIMRUNTIME)] !=# $VIMRUNTIME.sep && filewritable(dir.sep.'doc') == 2 && !empty(filter(split(glob(dir.sep.'doc'.sep.'*'),"\n>"),'!isdirectory(v:val)')) && (!filereadable(dir.sep.'doc'.sep.'tags') || filewritable(dir.sep.'doc'.sep.'tags')) | ||||
|         helptags `=dir.'/doc'` | ||||
|       endif | ||||
|     endfor | ||||
|   endfor | ||||
| endfunction " }}}1 | ||||
| 
 | ||||
| command! -bar Helptags :call pathogen#helptags() | ||||
| 
 | ||||
| " Execute the given command.  This is basically a backdoor for --remote-expr. | ||||
| function! pathogen#execute(...) abort " {{{1 | ||||
|   for command in a:000 | ||||
|     execute command | ||||
|   endfor | ||||
|   return '' | ||||
| endfunction " }}}1 | ||||
| 
 | ||||
| " Like findfile(), but hardcoded to use the runtimepath. | ||||
| function! pathogen#runtime_findfile(file,count) abort "{{{1 | ||||
|   let rtp = pathogen#join(1,pathogen#split(&rtp)) | ||||
|   let file = findfile(a:file,rtp,a:count) | ||||
|   if file ==# '' | ||||
|     return '' | ||||
|   else | ||||
|     return fnamemodify(file,':p') | ||||
|   endif | ||||
| endfunction " }}}1 | ||||
| 
 | ||||
| " Backport of fnameescape(). | ||||
| function! pathogen#fnameescape(string) abort " {{{1 | ||||
|   if exists('*fnameescape') | ||||
|     return fnameescape(a:string) | ||||
|   elseif a:string ==# '-' | ||||
|     return '\-' | ||||
|   else | ||||
|     return substitute(escape(a:string," \t\n*?[{`$\\%#'\"|!<"),'^[+>]','\\&','') | ||||
|   endif | ||||
| endfunction " }}}1 | ||||
| 
 | ||||
| if exists(':Vedit') | ||||
|   finish | ||||
| endif | ||||
| 
 | ||||
| let s:vopen_warning = 0 | ||||
| 
 | ||||
| function! s:find(count,cmd,file,lcd) " {{{1 | ||||
|   let rtp = pathogen#join(1,pathogen#split(&runtimepath)) | ||||
|   let file = pathogen#runtime_findfile(a:file,a:count) | ||||
|   if file ==# '' | ||||
|     return "echoerr 'E345: Can''t find file \"".a:file."\" in runtimepath'" | ||||
|   endif | ||||
|   if !s:vopen_warning | ||||
|     let s:vopen_warning = 1 | ||||
|     let warning = '|echohl WarningMsg|echo "Install scriptease.vim to continue using :V'.a:cmd.'"|echohl NONE' | ||||
|   else | ||||
|     let warning = '' | ||||
|   endif | ||||
|   if a:lcd | ||||
|     let path = file[0:-strlen(a:file)-2] | ||||
|     execute 'lcd `=path`' | ||||
|     return a:cmd.' '.pathogen#fnameescape(a:file) . warning | ||||
|   else | ||||
|     return a:cmd.' '.pathogen#fnameescape(file) . warning | ||||
|   endif | ||||
| endfunction " }}}1 | ||||
| 
 | ||||
| function! s:Findcomplete(A,L,P) " {{{1 | ||||
|   let sep = pathogen#separator() | ||||
|   let cheats = { | ||||
|         \'a': 'autoload', | ||||
|         \'d': 'doc', | ||||
|         \'f': 'ftplugin', | ||||
|         \'i': 'indent', | ||||
|         \'p': 'plugin', | ||||
|         \'s': 'syntax'} | ||||
|   if a:A =~# '^\w[\\/]' && has_key(cheats,a:A[0]) | ||||
|     let request = cheats[a:A[0]].a:A[1:-1] | ||||
|   else | ||||
|     let request = a:A | ||||
|   endif | ||||
|   let pattern = substitute(request,'/\|\'.sep,'*'.sep,'g').'*' | ||||
|   let found = {} | ||||
|   for path in pathogen#split(&runtimepath) | ||||
|     let path = expand(path, ':p') | ||||
|     let matches = split(glob(path.sep.pattern),"\n") | ||||
|     call map(matches,'isdirectory(v:val) ? v:val.sep : v:val') | ||||
|     call map(matches,'expand(v:val, ":p")[strlen(path)+1:-1]') | ||||
|     for match in matches | ||||
|       let found[match] = 1 | ||||
|     endfor | ||||
|   endfor | ||||
|   return sort(keys(found)) | ||||
| endfunction " }}}1 | ||||
| 
 | ||||
| command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Ve       :execute s:find(<count>,'edit<bang>',<q-args>,0) | ||||
| command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vedit    :execute s:find(<count>,'edit<bang>',<q-args>,0) | ||||
| command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vopen    :execute s:find(<count>,'edit<bang>',<q-args>,1) | ||||
| command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vsplit   :execute s:find(<count>,'split',<q-args>,<bang>1) | ||||
| command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vvsplit  :execute s:find(<count>,'vsplit',<q-args>,<bang>1) | ||||
| command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vtabedit :execute s:find(<count>,'tabedit',<q-args>,<bang>1) | ||||
| command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vpedit   :execute s:find(<count>,'pedit',<q-args>,<bang>1) | ||||
| command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vread    :execute s:find(<count>,'read',<q-args>,<bang>1) | ||||
| 
 | ||||
| " vim:set et sw=2: | ||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							|  | @ -0,0 +1 @@ | |||
| Subproject commit b5d3fe66a58a13d2ff8b6391f4387608496a030f | ||||
|  | @ -0,0 +1 @@ | |||
| Subproject commit da44ba4a92eef3860bdee2d96d755a7171889a70 | ||||
|  | @ -0,0 +1 @@ | |||
| Subproject commit 0b3d928dce8262dedfc2f83b9aeb59a94e4f0ae4 | ||||
|  | @ -0,0 +1 @@ | |||
| Subproject commit b0bb781fc73ef40365e4c996a16f04368d64fc9d | ||||
|  | @ -0,0 +1 @@ | |||
| Subproject commit 24780b946442121ea2862e933ac47ac58c6d8474 | ||||
|  | @ -0,0 +1 @@ | |||
| Subproject commit 50518b335d6bc486c895d4cb34c29417238cbe81 | ||||
|  | @ -0,0 +1 @@ | |||
| Subproject commit 60f25648814f0695eeb6c1040d97adca93c4e0bb | ||||
|  | @ -0,0 +1 @@ | |||
| Subproject commit 9bf4fd99e4b460c547207b0f0bc3557280874b61 | ||||
|  | @ -0,0 +1 @@ | |||
| Subproject commit 8e5bf4d9d445565b4fc88ef700635d6210f4c69c | ||||
|  | @ -0,0 +1 @@ | |||
| Subproject commit 70379ac9c06746a601c02269d381fb4a31ecbdee | ||||
|  | @ -0,0 +1 @@ | |||
| Subproject commit 0c5612fa31ee434ba055e21c76f456244b3b5109 | ||||
|  | @ -0,0 +1 @@ | |||
| Subproject commit bfcece76c982279c09daf176182addcd19872209 | ||||
|  | @ -0,0 +1 @@ | |||
| Subproject commit a9a3b7384657bc1f60a963fd6c08c63fc48d61c3 | ||||
|  | @ -0,0 +1 @@ | |||
| Subproject commit 1270dceb1fe0ca35f8b292c7b41b45b42c5a0cc1 | ||||
|  | @ -0,0 +1 @@ | |||
| Subproject commit 27d2af11223349088f5c7fb3187bb3184364ea12 | ||||
|  | @ -0,0 +1 @@ | |||
| Subproject commit 1966a54616cc5b9483dcced8c640f508e2a46c4e | ||||
|  | @ -0,0 +1 @@ | |||
| Subproject commit 181a1ab64955d7a86201786761b3afaf1a5aef9c | ||||
|  | @ -0,0 +1 @@ | |||
| Subproject commit debd25711562840870fec38d20106d310e252789 | ||||
|  | @ -0,0 +1 @@ | |||
| Subproject commit f31aa52552ceb40240e56e475e6df89cc756507e | ||||
|  | @ -0,0 +1,718 @@ | |||
| " ---------------------------------------------------------------------- | ||||
| " |                             Fichiers de configuration de vim       | | ||||
| " |                                  Emplacement : ~/.vim/vimrc        | | ||||
| " | Auteur               : Gardouille                                  | | ||||
| " | Version              : 1.12                                        | | ||||
| " |                                                                    | | ||||
| " | ----------------------- Modification à apporter -------------------| | ||||
| " | Modifications à apporter:                                          | | ||||
| " |   - voir le pliage/dépliage (za, zm, zr, ...)                      | | ||||
| " |   - voir l'option d'encodage (encoding, ...)                       | | ||||
| " |   - remapper l'incrémentation sur un chiffre avec CTRL-A           | | ||||
| " |   - permettre une incrémentation sur les lettres, hexa, ...        | | ||||
| " |   en plus des chiffres                                             | | ||||
| " -------------------------------------------------------------------- | | ||||
| " |                                                                    | | ||||
| " | --------------------------------------- Liens utiles ------------- | | ||||
| " | Liens utiles:                                                      | | ||||
| " | http://www.debian-fr.org/vim-t8605.html                            | | ||||
| " | http://www.swaroopch.com/notes/Vim_fr:Table_des_Mati%C3%A8res      | | ||||
| " | http://www.rayninfo.co.uk/vimtips.html                             | | ||||
| " | http://www.vim.org/tips/index.php                                  | | ||||
| " | http://linuxfr.org/news/vim-f%C3%AAte-son-20e%C2%A0anniversaire    | | ||||
| " | http://vimdoc.sourceforge.net/htmldoc/map.html#mapmode-n           | | ||||
| " ---------------------------------------------------------------------- | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Diverses options | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| set background=dark                           " fond sombre | ||||
| " Thème de couleur par défaut: | ||||
| "colorscheme peachpuff | ||||
| " Autre thèmes possibles: desert, delek, zellner, torte, elflord, evening, pablo, morning, peachpuff, blue, murphy, ron, zellner, darkblue, desert, koehler, and shine | ||||
| colorscheme torte | ||||
| "liste des couleur : ll /usr/share/vim/vim7*/colors/ | ||||
| syntax on                                     " activation de la coloration syntaxique | ||||
| set number                                   " numérotation des lignes | ||||
| "set autoindent                               " indentation automatique avancée | ||||
| "set smartindent                              " indentation plus intelligente | ||||
| "set backspace=indent,eol,start                " autorisation du retour arrière | ||||
| set bs=2                                      " redéfinition du backspace | ||||
| set history=50                                " fixe l'historique à 50 commandes maxi | ||||
| set ruler                                     " affiche la position courante au sein du fichier | ||||
| set showcmd                                   " affiche la commande en cours | ||||
| set shiftwidth=2                              " taille des tabulations (nb d'espace) | ||||
| set softtabstop=2                             " taille des tabulations mixtes (tabulations et espaces) | ||||
| set tabstop=2                                 " taille des tabulations à l'affichage (nb d'espace) | ||||
| set expandtab                                 " transforme les tabulations en espaces | ||||
| set showmatch                                 " vérification présence (, [ ou { à la frappe de ), ] ou } | ||||
| filetype plugin indent on                     " détection automatique du type de fichier | ||||
| autocmd FileType text setlocal textwidth=80   " les fichiers de type .txt sont limités à 80 caractères par ligne | ||||
| autocmd FileType tex setlocal textwidth=80    " les fichiers de type .tex sont limités à 80 caractères par ligne | ||||
| set fileformats=unix,mac,dos                  " gestion des retours chariot en fonction du type de fichier | ||||
| set hlsearch                                  " surligne les résultats de la recherche | ||||
| " set nohls                                    " ne pas surligner les résultats de la recherche | ||||
| set incsearch                                 " recherche en même temps que la saisie | ||||
| set ignorecase                                " ne pas prendre en compte la casse pour les recherches | ||||
| "set noic                                      " Prendre en compte la casse pour les recherches | ||||
| set smartcase                                 " recherche respectueuse de la case quand une majuscule est saisie | ||||
| set cursorline                                " met en avant la ligne courante | ||||
| "set cursorcolumn                             " met en avant la colonne courante | ||||
| set so=2                                      " Place le curseur sur la 2ème ligne lors de mouvements verticaux | ||||
| set pt=<F11>                                  " évite la double indentation lors de c/c | ||||
| set cpoptions+=$                              " ajoute un $ pour indiquer la fin d'un remplacement | ||||
| set title                                     " Modifier le titre du terminal (ne semble pas fonctionner avec screen) | ||||
| set autochdir                                 " Modifie le répertoire courant pour vim en fonction du fichier ouvert | ||||
| set wildignore=*.swp,*.bak                    " Liste des fichiers ignorés lors de l'auto-complétion | ||||
| set virtualedit=all                           " Permet de se déplacer la ou il n'y a pas de caractères | ||||
| set formatoptions+=awt | ||||
| "set colorcolumn=81                            " Coloration bar caractère 80 | ||||
| set wrapmargin=0 | ||||
| 
 | ||||
| " Encodage par défaut des buffers et des fichiers | ||||
| set encoding=utf-8 | ||||
| set fileencoding=utf-8 | ||||
| 
 | ||||
| 
 | ||||
| " Path pour la recherche de fichier avec :find, :sfind et :tabfind | ||||
| " :find ouvrira à la place du fichier en cours le fichier trouvé | ||||
| " :sfind splittera l'écran | ||||
| " :tabfind ouvrira le fichier dans un nouvel onglet | ||||
| set path=.,/usr/include,/usr/local/include | ||||
| 
 | ||||
| " Couleur des éléments | ||||
| "hi StatusLine ctermfg=black ctermbg=green | ||||
| "hi TabLineFill ctermfg=black ctermbg=grey | ||||
| "hi TabLine ctermfg=black ctermbg=red | ||||
| "hi TabLineSel ctermfg=green ctermbg=black | ||||
| 
 | ||||
| 
 | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Touche MapLeader : | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Activation de la touche mapleader qui permet de faire des combinaisons | ||||
| " supplémentaires | ||||
| let mapleader = "," | ||||
| let g:mapleader = "," | ||||
| 
 | ||||
| " Sauvegarde rapide | ||||
| nmap <leader>w :w<cr> | ||||
| imap <leader>w <esc>:w<cr> | ||||
| nmap <leader>q :wq<cr> | ||||
| imap <leader>q <esc>:wq<cr> | ||||
| " Sauvegarder et exécuter le fichier courant | ||||
| nmap <leader>x :w<cr>:!./"%"<cr> | ||||
| 
 | ||||
| " Édition rapide de vimrc avec <leader>+e | ||||
| map <leader>e :e! ~/.vim/vimrc<cr> | ||||
| 
 | ||||
| " Navigation dans les buffers | ||||
| " Détails sur les buffers: http://vim-fr.org/index.php/Buffer | ||||
| map <leader>t :bp<cr> | ||||
| map <leader>s :bn<cr> | ||||
| 
 | ||||
| "Navigation splits | ||||
| map <leader>j <C-w>j | ||||
| map <leader>h <C-w>h | ||||
| map <leader>k <C-w>k | ||||
| map <leader>l <C-w>l | ||||
| 
 | ||||
| 
 | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " UN PEU D'EXERCICE | ||||
| " H pour <- | ||||
| " L pour -> | ||||
| " J pour flèche bas | ||||
| " K pour flèche haut | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| "Désactiver les flèches | ||||
| " Mode commande | ||||
| nmap <right> <esc> | ||||
| nmap <left> <esc> | ||||
| nmap <up> <esc> | ||||
| nmap <down> <esc> | ||||
| " Mode insertion: | ||||
| imap <right> <esc> | ||||
| imap <left> <esc> | ||||
| imap <up> <esc> | ||||
| imap <down> <esc> | ||||
| 
 | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Mapping - Raccourcis clavier | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| "Désactive le surlignage des résultats d'une recherche en utilisant CTRL-n | ||||
| nnoremap <silent> <C-N> :set hlsearch!<cr>:set hlsearch?<cr> | ||||
| "Ajoute une ligne avant le curseur sans passer en mode insertion | ||||
| nnoremap <Space><Enter> o<ESC> | ||||
| 
 | ||||
| "Ajoute une ligne après le curseur sans passer en mode insertion | ||||
| map <Enter> O<ESC> | ||||
| 
 | ||||
| " Activer/désactiver la surbrillance des recherches avec F2 | ||||
| noremap <F2> :set hlsearch!<cr>:set hlsearch?<cr> | ||||
| " Activer/désactiver la correction avec F3 | ||||
| noremap <F3> :set spell!<cr>:set spell?<cr> | ||||
| " Activer/désactiver le mode collage | ||||
| noremap <F5> :set paste!<cr>:set paste?<cr> | ||||
| 
 | ||||
| " Remap de Echap sur jj | ||||
| imap jj <ESC> | ||||
| 
 | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Vim-Scripts : | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| if !filewritable ($HOME."/.vim/bundle") " Si le répertoire n'existe pas | ||||
|   call mkdir($HOME."/.vim/bundle", "p") " Création du répertoire de sauvegarde | ||||
| endif | ||||
| "########################## | ||||
| " Vundle : | ||||
| "########################## | ||||
| " https://github.com/gmarik/vundle | ||||
| " IF not available, use: | ||||
| " git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle | ||||
| set nocompatible               " be iMproved | ||||
| filetype off                   " required! | ||||
| 
 | ||||
| set rtp+=~/.vim/bundle/vundle/ | ||||
| call vundle#rc() | ||||
| 
 | ||||
| " let Vundle manage Vundle | ||||
| " required! | ||||
| Bundle 'gmarik/vundle' | ||||
| 
 | ||||
| 
 | ||||
| " For SnipMate | ||||
| Bundle "MarcWeber/vim-addon-mw-utils" | ||||
| Bundle "tomtom/tlib_vim" | ||||
| Bundle "garbas/vim-snipmate" | ||||
| " Optional: | ||||
| Bundle "honza/vim-snippets" | ||||
| 
 | ||||
| filetype plugin indent on     " required! | ||||
| " | ||||
| " | ||||
| " see :h vundle for more details or wiki for FAQ | ||||
| " NOTE: comments after Bundle command are not allowed.. | ||||
| 
 | ||||
| 
 | ||||
| "########################## | ||||
| " Pathogen : | ||||
| "########################## | ||||
| " http://github.com/tpope/vim-pathogen | ||||
| Bundle "tpope/vim-pathogen" | ||||
| 
 | ||||
| execute pathogen#infect() | ||||
| 
 | ||||
| "########################## | ||||
| " Nerd_tree : | ||||
| "########################## | ||||
| " https://github.com/scrooloose/nerdtree | ||||
| " Nerd_tree - Permet d'afficher une arborescence du répertoire courant. | ||||
| Bundle "scrooloose/nerdtree" | ||||
| 
 | ||||
| " Raccourcis de la commande avec F10 | ||||
| map <F10> :NERDTreeToggle<cr> | ||||
| " Et <leader>n | ||||
| nmap <leader>n :NERDTreeToggle<cr> | ||||
| " Placer le volet à droite | ||||
| let NERDTreeWinPos='right' | ||||
| 
 | ||||
| "########################## | ||||
| " Nerd_commenter : | ||||
| "########################## | ||||
| " https://github.com/scrooloose/nerdcommenter | ||||
| " Mettre en commentaire une ligne | ||||
| " Également disponible dans le paquet vim-scripts | ||||
| Bundle "scrooloose/nerdcommenter" | ||||
| 
 | ||||
| " Commentaire basique, mais permet également de décommenter (Attention, il y a | ||||
| " un espace avec le C!) | ||||
| " Commenter/décommenter une ligne | ||||
| map ,, <leader>c<space> | ||||
| "map <F7> <Leader>c | ||||
| imap  <F7> <esc><F7> | ||||
| " Commentaire plus sexy, mais impossible à décommenter | ||||
| map <F8> <Leader>cs | ||||
| " Note, utilisé le mode visuel ligne SHIFT+V ou le mode visuel bloc CTRL+V | ||||
| 
 | ||||
| "########################## | ||||
| " Supertab-continued : | ||||
| "########################## | ||||
| " http://github.com/ervandew/supertab | ||||
| " SuperTab offre une autocomplétion amélioré. | ||||
| " http://www.vim.org/scripts/script.php?script_id=182 | ||||
| Bundle "ervandew/supertab" | ||||
| 
 | ||||
| " CTRL-N en mode insertion pour rechercher le suivant | ||||
| " CTRL-X - CTRL-L: rechercher une ligne complète à partir du début | ||||
| " CTRL-X - CTRL-K: rechercher dans le dictionnaire | ||||
| " Permet notamment de compléter avec des noms de variables déjà définies. | ||||
| " Pas de configuration spécifiques | ||||
| "imap <leader>d  | ||||
| "imap <leader>l  | ||||
| 
 | ||||
| "########################## | ||||
| " Syntastic : | ||||
| "########################## | ||||
| " https://github.com/scrooloose/syntastic | ||||
| Bundle "scrooloose/syntastic" | ||||
| 
 | ||||
| " Won't work ... | ||||
| let g:syntastic_mode_map = { 'mode': 'active', | ||||
|                                \ 'active_filetypes': ['ruby', 'php'], | ||||
|                                \ 'passive_filetypes': ['puppet'] } | ||||
| "let g:syntastic_puppet_checkers = ['puppet'] | ||||
| let g:syntastic_puppet_checkers = ['puppetlint'] | ||||
| 
 | ||||
| "########################## | ||||
| " Neocomplcache : | ||||
| "########################## | ||||
| " http://github.com/Shougo/neocomplcache | ||||
| Bundle "Shougo/neocomplcache" | ||||
| 
 | ||||
| " Use neocomplcache. | ||||
| let g:neocomplcache_enable_at_startup = 1 | ||||
| " Set minimum syntax keyword length. | ||||
| let g:neocomplcache_min_syntax_length = 3 | ||||
| let g:neocomplcache_lock_buffer_name_pattern = '\*ku\*' | ||||
| 
 | ||||
| "########################## | ||||
| " Puppet : | ||||
| "########################## | ||||
| " github.com/rodjek/vim-puppet.git | ||||
| Bundle "rodjek/vim-puppet" | ||||
| 
 | ||||
| "########################## | ||||
| " Tabular : | ||||
| "########################## | ||||
| " https://github.com/godlygeek/tabular | ||||
| Bundle "godlygeek/tabular" | ||||
| 
 | ||||
| "########################## | ||||
| " Airline : | ||||
| "########################## | ||||
| " https://github.com/bling/vim-airline | ||||
| Bundle 'bling/vim-airline' | ||||
| 
 | ||||
| " Toujours afficher la barre de statut | ||||
| set laststatus=2 | ||||
| " Smarter tab line | ||||
| let g:airline#extensions#tabline#enabled = 1 | ||||
| "let g:airline#extensions#tabline#left_sep = 'ˇ' | ||||
| "let g:airline#extensions#tabline#left_alt_sep = 'v' | ||||
| let g:airline_powerline_fonts = 1 | ||||
| "let g:airline_theme='molokai' | ||||
| "let g:airline_theme='lucius' | ||||
| let g:airline_theme='monochrome' | ||||
| 
 | ||||
| "########################## | ||||
| " Airline : | ||||
| "########################## | ||||
| " https://github.com/edkolev/tmuxline.vim | ||||
| "Bundle 'edkolev/tmuxline.vim' | ||||
| 
 | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Paramétrage de exuberant-ctags | ||||
| "http://ngressier.developpez.com/articles/vim/vim-plugin-taglist/#LC | ||||
| "Indispensable pour le bon fonctionnement du plugin Taglist | ||||
| """"""""""""""""""""""""""""""""""""""""""""""""" | ||||
| let Tlist_Ctags_Cmd = '/usr/bin/ctags' | ||||
| 
 | ||||
| "########################## | ||||
| " Showmark : | ||||
| "########################## | ||||
| " https://github.com/jacquesbh/vim-showmarks | ||||
| Bundle 'jacquesbh/vim-showmarks' | ||||
| " Show fucking marks | ||||
| noremap ' :ShowMarksOnce<cr> ' | ||||
| 
 | ||||
| "########################## | ||||
| " CTRL P : | ||||
| "########################## | ||||
| " https://github.com/kien/ctrlp.vim | ||||
| Bundle 'kien/ctrlp.vim' | ||||
| 
 | ||||
| "########################## | ||||
| " undo-tree : | ||||
| "########################## | ||||
| " https://github.com/mbbill/undotree | ||||
| Bundle 'mbbill/undotree' | ||||
| " UndoTree | ||||
| map <leader>u :UndotreeToggle<CR> " Mapping pour l'activer/désactiver | ||||
| 
 | ||||
| "########################## | ||||
| " auto-close : | ||||
| "########################## | ||||
| " Fermeture automatique des (, [, {, ... | ||||
| " https://github.com/Townk/vim-autoclose | ||||
| Bundle 'Townk/vim-autoclose' | ||||
| " Disable auto-close | ||||
| imap <silent> <leader>c <Esc>:AutoCloseToggle<CR> | ||||
| "avance d'un caratere en mode insert (vim-autoclose -> plus besoin de fermer les (, [, {, ...) | ||||
| imap <leader>n <esc>l i | ||||
| 
 | ||||
| "########################## | ||||
| " tagbar: | ||||
| "########################## | ||||
| " https://github.com/majutsushi/tagbar | ||||
| Bundle 'majutsushi/tagbar' | ||||
| " Open Tagbar: | ||||
| nmap <leader>t :TagbarToggle<CR> | ||||
| " Manage Puppet file (.pp): | ||||
| let g:tagbar_type_puppet = { | ||||
|     \ 'ctagstype': 'puppet', | ||||
|     \ 'kinds': [ | ||||
|         \'c:class', | ||||
|         \'s:site', | ||||
|         \'n:node', | ||||
|         \'d:definition' | ||||
|       \] | ||||
|     \} | ||||
| 
 | ||||
| "########################## | ||||
| " fugitive: | ||||
| "########################## | ||||
| " https://github.com/tpope/vim-fugitive | ||||
| "Bundle 'tpope/vim-fugitive' | ||||
| 
 | ||||
| "########################## | ||||
| " openssl: | ||||
| "########################## | ||||
| " https://github.com/ | ||||
| "Bundle 'openssl.vim' | ||||
| 
 | ||||
| "########################## | ||||
| " Exuberant-ctags: | ||||
| "########################## | ||||
| " https://github.com/b4n/ctags or debian package for Sid is SVN based | ||||
| 
 | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Paramétrage du plugin Taglist | ||||
| "http://ngressier.developpez.com/articles/vim/vim-plugin-taglist/#LD | ||||
| "Indispensable pour la deuxième status line définie dans ce fichier | ||||
| "Si première utilisation, faire un vim dans le dossier ~/.vim/doc/ et faire | ||||
| ":helptags" pour activer le plugin | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| "Mappage de l'ouverture et fermeture de la fenêtre des tags avec la touche F4 | ||||
| "nnoremap <silent> <F4> :TlistToggle<CR> | ||||
| ""map <F4> :TlistToogle<CR> | ||||
| "let Tlist_WinWidth = 50 | ||||
| "let Tlist_Process_File_Always = 1 " activation permanente du plugin pour la barre de statut | ||||
| "let Tlist_Exit_OnlyWindow = 1  " vim se ferme si il reste uniquement la fenêtre des tags | ||||
| "let Tlist_Use_Right_Window = 1   " affiche les tags sur le côté droit de l'écran | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Gestion des onglets | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Nouvel onglet | ||||
| map <C-t>       :tabnew<cr> | ||||
| " Changer d'onglet | ||||
| map <tab> :tabnext<cr> | ||||
| " Onglet suivant | ||||
| map <S-tab> :tabprevious<cr> | ||||
| " Se déplacer à l'onglet suivant | ||||
| map <C-left>    :tabnext<cr> | ||||
| " Se déplacer à l'onglet précédent | ||||
| map <C-right>   :tabprevious<cr> | ||||
| " Fermer l'onglet | ||||
| map <C-x>       :tabclose<cr> | ||||
| 
 | ||||
| 
 | ||||
| """"""""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Dictionnaire français | ||||
| """"""""""""""""""""""""""""""""""""""""""""""""""" | ||||
| set dictionary+=/usr/share/dict/french | ||||
| "Liste des propositions avec CTRL-X_CTRL-K ou <leader>xk | ||||
| imap <leader>xk  | ||||
| 
 | ||||
| """"""""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Correction orthographique | ||||
| "-------------En mode INSERTION :------------------ | ||||
| "Liste des propositions :         CTRL-X_s | ||||
| "-------------En mode COMMANDE :------------------- | ||||
| "Liste des propositions :         z= | ||||
| "Prochain mot mal orthographié :  ]s | ||||
| "Précédent mot mal orthographié : [s | ||||
| "Ajouter un mot au dictionnaire: zg | ||||
| """"""""""""""""""""""""""""""""""""""""""""""""""" | ||||
| if has("spell") | ||||
|     " La commande z= affiche 10 suggestions. En mode insertion: CRTL-X_s | ||||
|     set spellsuggest=10 | ||||
|     " On règle les touches d'activation manuelle de la correction orthographique | ||||
|     noremap <leader>sf :setlocal spell spelllang=fr <CR> | ||||
|     noremap <leader>se :setlocal spell spelllang=en <CR> | ||||
|     noremap <leader>sn :setlocal nospell <CR> | ||||
|     " On active automatiquement le mode spell pour les fichiers texte et LaTeX | ||||
|     autocmd BufEnter *.txt,*.tex set spell | ||||
|     " On applique le dictionnaire français pour tous les types de fichiers | ||||
|     autocmd BufEnter * set spelllang=fr | ||||
| endif | ||||
| if !filewritable ($HOME."/.vim/spell") " Si le répertoire n'existe pas | ||||
|   call mkdir($HOME."/.vim/spell", "p") " Création du répertoire de sauvegarde | ||||
| endif | ||||
| 
 | ||||
| " Choix de la langue de l'aide | ||||
| set helplang=fr | ||||
| 
 | ||||
| " Liste des abréviations textes: | ||||
| iabbrev cad c'est-à-dire | ||||
| iabbrev svp s'il-vous-plaît | ||||
| iabbrev stp s'il-te-plaît | ||||
| iabbrev pcq parce que | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| """"""""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Modification de la barre de statut | ||||
| """"""""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Pas besoin de plugin | ||||
| "set laststatus=2 " Affiche la barre de statut quoi qu'il en soit (0 pour la masquer, 1 pour ne l'afficher que si l'écran est divise) | ||||
| "if has("statusline") | ||||
|     "set statusline= | ||||
|     "set statusline+=%< | ||||
|     "set statusline+=[%02n%H%M%R%W]                 " Numéro du buffer (2 digit), and flags | ||||
|     "set statusline+=\ %m                           " modified flag '[+]' if modifiable | ||||
|     "set statusline+=%f                             " Nom du fichier | ||||
|     "set statusline+=%r                             " read only flag '[RO]' | ||||
|     "set statusline+=%h                             " help flag '[Help]' | ||||
|     ""set statusline+=%1*\ [FORMAT=%{&ff}]%0*        " Format du fichier | ||||
|     "set statusline+=\ [FORMAT=%{&ff}]              " Format du fichier | ||||
|     "set statusline+=\ [TYPE=%Y]                    " Type de fichier | ||||
|     "set statusline+=\ [ENC=%{&fileencoding}]      " Encodage du fichier | ||||
|     "set statusline+=\ [POS=%04l,%03v]              " Position dans le fichier ligne/colonne | ||||
|     "set statusline+=%=                             " seperate between right- and left-aligned | ||||
|     "set statusline+=\ [%p%%]                         " Position dans le fichier en % | ||||
|     "set statusline+=\ [%l/%L]                     " Nombre de ligne dans le fichier | ||||
|     ""set statusline+=%1*%y%*%*                      " file type | ||||
|     "set statusline+=%{&hlsearch?'+':'-'}          " Résultat de recherche surligné (+: y; -: n) | ||||
|     "set statusline+=%{&paste?'=':'\ '} | ||||
|     "set statusline+=%{&wrap?'<':'>'} | ||||
| 
 | ||||
| "elseif has("cmdline_info") | ||||
|     "set ruler " Affiche la position du curseur en bas a gauche de l'écran | ||||
| "endif | ||||
| 
 | ||||
| 
 | ||||
| """"""""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Création des répertoires | ||||
| """"""""""""""""""""""""""""""""""""""""""""""""""" | ||||
| "################################ | ||||
| " Centralisation des backups : | ||||
| "################################ | ||||
| if !filewritable ($HOME."/.vim/backup") " Si le répertoire n'existe pas | ||||
|   call mkdir($HOME."/.vim/backup", "p") " Création du répertoire de sauvegarde | ||||
| endif | ||||
| " On définit le répertoire de sauvegarde | ||||
| set backupdir=$HOME/.vim/backup | ||||
| 
 | ||||
| " On active le comportement précédemment décrit | ||||
| set backup | ||||
| 
 | ||||
| "################################ | ||||
| " Undo persistant : | ||||
| "################################ | ||||
| " !!! Attention à la taille des fichiers de sauvegarde !!! | ||||
| if has("persistent_undo") | ||||
|   if !filewritable ($HOME."/.vim/undodir") " Si le répertoire n'existe pas | ||||
|     call mkdir($HOME."/.vim/undodir", "p") " Création du répertoire de sauvegarde | ||||
|   endif | ||||
|   " On définit le répertoire de sauvegarde | ||||
|   set undodir=$HOME/.vim/undodir " répertoire où seront stockés les modifications | ||||
|   set undofile                   " activation du undo persistant | ||||
|   set undolevels=100             " nombre maximum de changements sauvegardés | ||||
|   set undoreload=100             " nombre maximum de lignes sauvegardées | ||||
| endif | ||||
| 
 | ||||
| "################################ | ||||
| " Répertoire de chargement automatique des scripts | ||||
| "################################ | ||||
| if !filewritable ($HOME."/.vim/autoload") " Si le répertoire n'existe pas | ||||
|   call mkdir($HOME."/.vim/autoload", "p") " Création du répertoire de chargement automatique | ||||
| endif | ||||
| 
 | ||||
| "################################ | ||||
| " Répertoire pour les fichiers temporaires | ||||
| "################################ | ||||
| " Placer les fichiers .swp dans un autre répertoire | ||||
| if !filewritable ($HOME."/.vim/tmp") " Si le répertoire n'existe pas | ||||
|   call mkdir($HOME."/.vim/tmp", "p") " Création du répertoire temporaire | ||||
| endif | ||||
| set directory=$HOME/.vim/tmp | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| """"""""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Gestion des templates | ||||
| """"""""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Récupérer le nom du fichier | ||||
| " :!echo % (renvoie /Documents/fichier.tex ) | ||||
| " :!echo %:r (renvoie /Documents/fichier ) | ||||
| " :!echo %:e (renvoie tex ) | ||||
| " :!echo %:t (renvoie fichier.tex ) | ||||
| " :!echo %:p (renvoie /home/limax/Documents/fichier.tex ) | ||||
| " :!echo %:t (renvoie fichier.tex ) | ||||
| " :!echo %:h (renvoie Documents) | ||||
| 
 | ||||
| if has("autocmd") | ||||
|   augroup templates | ||||
|     autocmd! | ||||
|     autocmd BufNewFile *.html,*.htm call Template('html') | ||||
|     autocmd BufNewFile *.py call Template('py') | ||||
|     autocmd BufNewFile *.sh,*.bat call Template('sh') | ||||
|     autocmd BufNewFile *.c,*.cpp,*.sc,*.h call Template('c') | ||||
|     autocmd BufNewFile *.spr call Template('spr') | ||||
|     autocmd BufNewFile *.rec call Perso_recette('rec') | ||||
|     autocmd BufNewFile *.tex call Template('tex') | ||||
|     autocmd BufNewFile *.pp call Template('pp') | ||||
|   augroup END | ||||
| 
 | ||||
|   function! Template(type) | ||||
|     execute "0r ~/.vim/templates/skeleton.".a:type | ||||
|     execute "%s/!!FICHIER!!/".expand("%:t")."/e" | ||||
|     execute "%s/!!DATE!!/".strftime("%Y-%m-%d")."/e" | ||||
|     execute "%s/!!SQUELETTE!!/".expand("%:t:r")."/g" | ||||
|     execute "normal! 10G$" | ||||
|   endfunction | ||||
| 
 | ||||
|   function! Perso_recette(type) | ||||
|     execute "0r ~/.vim/templates/recette.tex" | ||||
|     execute "%s/!!FICHIER!!/".expand("%:t")."/e" | ||||
|     execute "%s/!!DATE!!/".strftime("%d-%m-%Y")."/e" | ||||
|     execute "normal! 10G$" | ||||
|   endfunction | ||||
| endif | ||||
| 
 | ||||
| 
 | ||||
| """"""""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Actions Automatiques | ||||
| """"""""""""""""""""""""""""""""""""""""""""""""""" | ||||
| 
 | ||||
| "################################ | ||||
| " Changer les droits d'un fichier | ||||
| "################################ | ||||
| """"""""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " donner des droits d'exécution si le fichier commence par #! et contient | ||||
| " /bin/ dans son chemin | ||||
| function ModeChange() | ||||
|   if getline(1) =~ "^#!" | ||||
|     if getline(1) =~ "/bin/" | ||||
|       silent !chmod a+x <afile> | ||||
|     endif | ||||
|   endif | ||||
| endfunction | ||||
| 
 | ||||
| au BufWritePost * call ModeChange() | ||||
| 
 | ||||
| 
 | ||||
| "################################ | ||||
| " Espaces - caractères superflus | ||||
| "################################ | ||||
| " Afficher '¬' pour indiquer une fin de ligne | ||||
| " Afficher '\' une fin de ligne avec des espaces en trop | ||||
| set list | ||||
| set listchars=eol:¬,trail:\ | ||||
| " Afficher les espaces superflus et les tabulations en gris clair | ||||
| highlight ExtraWhitespace ctermbg=lightgray guibg=lightred | ||||
| match ExtraWhitespace /\s\+$\|\t/ | ||||
| 
 | ||||
| " Suppression automatique des espaces superflus (avant sauvegarde) | ||||
| autocmd BufWritePre * :%s/\s\+$//e | ||||
| 
 | ||||
| 
 | ||||
| "################################ | ||||
| " Configuration BÉPO | ||||
| "################################ | ||||
| " Si la disposition bépo est détectée, charger automatiquement le fichier | ||||
| if !empty(system("setxkbmap -print|grep bepo")) | ||||
|   source ~/.vim/vimrc.bepo | ||||
| endif | ||||
| " Chargement manuel pour les machines ne disposant pas de setxkbmap (serveurs) | ||||
| map <leader>é :source ~/.vim/vimrc.bepo<cr> | ||||
| 
 | ||||
| 
 | ||||
| "################################ | ||||
| " Conserver emplacement curseur | ||||
| "################################ | ||||
| set viminfo='10,\"100,:20,%,n~/.viminfo | ||||
| au BufReadPost * if line("'\"") > 0|if line("'\"") <= line("$")|exe("norm '\"")|else|exe "norm $"|endif|endif | ||||
| 
 | ||||
| " Différences depuis le debut de l'edition | ||||
| "if !exists(":DiffOrig") | ||||
| " La commande suivante permet de comparer le fichier avec son ancien etat | ||||
| " (au moment de l'ouverture dans Vim). | ||||
| "command DiffOrig vertical new | set buftype=nofile | r # | 0d_ | | ||||
| "diffthis | ||||
| "\| wincmd p | diffthis | ||||
| " Mapping de la commande precedente | ||||
| "noremap <Leader>ch <Esc> :DiffOrig<CR> | ||||
| "endif | ||||
| 
 | ||||
| 
 | ||||
| "################################ | ||||
| " Recharger vimrc après modif | ||||
| "################################ | ||||
| if has("autocmd") | ||||
|   autocmd! bufwritepost vimrc source ~/.vim/vimrc | ||||
| endif | ||||
| 
 | ||||
| 
 | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Chargement des types de fichiers | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| autocmd BufEnter *.txt set filetype=text | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| """"""""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Actions Manuelles | ||||
| """"""""""""""""""""""""""""""""""""""""""""""""""" | ||||
| 
 | ||||
| "################################ | ||||
| " Presse Papier | ||||
| "################################ | ||||
| 
 | ||||
| set clipboard=autoselect                      " Le texte sélectionné en mode visuel est collé dans le presse-papier PRIMARY | ||||
| 
 | ||||
| " Copier vers le presse papier graphique avec CTRL-C en mode visuel | ||||
| vmap <C-c> y:call system("xclip -i -selection clipboard", getreg("\""))<CR>:call system("xclip -i", getreg("\""))<CR> | ||||
| " Coller le contenu du presse papier graphique depuis le mode normal | ||||
| "nmap <C-v> :call setreg("\"",system("xclip -o -selection clipboard"))<CR>p | ||||
| 
 | ||||
| 
 | ||||
| "################################ | ||||
| " Lancer un navigateur internet | ||||
| "################################ | ||||
| """ Firefox | ||||
| " « v<leader>fd » cherche la définition du mot courant dans le TLFI | ||||
| vmap <leader>fd :<C-U>!firefox "http://www.cnrtl.fr/lexicographie/<cword>" >& /dev/null<CR><CR> | ||||
| " « v<leader>fs » cherche les synonymes du mot courant dans le TLFI | ||||
| vmap <leader>fs :<C-U>!firefox "http://www.cnrtl.fr/synonymie/<cword>" >& /dev/null<CR><CR> | ||||
| " « v<leader>fg » comme ci-dessus mais pour google | ||||
| vmap <leader>fg :<C-U>!firefox "http://www.google.fr/search?hl=fr&q=<cword>&btnG=Recherche+Google&meta=" >& /dev/null<CR><CR> | ||||
| "« v<leader>fw » comme ci-dessus mais pour wikipedia | ||||
| vmap <leader>fw :<C-U>!firefox "http://fr.wikipedia.org/wiki/<cword>" >& /dev/null<CR><CR> | ||||
| " « v<leader>fc » comme ci-dessus mais pour le conjugueur | ||||
| vmap <leader>fc :<C-U>!firefox "http://www.leconjugueur.com/php5/index.php?v=<cword>" >& /dev/null<CR><CR> | ||||
| " « v<leader>fo » ouvre l’url sur laquelle on se trouve dans firefox | ||||
| vmap <leader>fo :<C-U>!dwb "<cfile>" >& /dev/null &<CR><CR> | ||||
| 
 | ||||
| """ W3M | ||||
| " « v<leader>d » cherche la définition du mot courant dans le TLFI | ||||
| vmap <leader>d :<C-U>!w3m "http://www.cnrtl.fr/lexicographie/<cword>" <CR> | ||||
| " « v<leader>s » cherche les synonymes du mot courant dans le TLFI | ||||
| vmap <leader>s :<C-U>!w3m "http://www.cnrtl.fr/synonymie/<cword>" <CR> | ||||
| " « v<leader>g » comme ci-dessus mais pour google | ||||
| vmap <leader>g :<C-U>!w3m "http://www.google.fr/search?hl=fr&q=<cword>&btnG=Recherche+Google&meta=" <CR> | ||||
| "« v<leader>w » comme ci-dessus mais pour wikipedia | ||||
| vmap <leader>w :<C-U>!w3m "http://fr.wikipedia.org/wiki/<cword>" <CR> | ||||
| " « v<leader>c » comme ci-dessus mais pour le conjugueur | ||||
| vmap <leader>c :<C-U>!w3m "http://www.leconjugueur.com/php5/index.php?v=<cword>" <CR> | ||||
| " « v<leader>o » ouvre l’url sur laquelle on se trouve dans firefox | ||||
| vmap <leader>o :<C-U>!w3m "<cfile>" <CR> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  | @ -0,0 +1,90 @@ | |||
| " {W} -> [É] | ||||
| " —————————— | ||||
| " On remappe W sur É : | ||||
| noremap é w | ||||
| noremap É W | ||||
| " Corollaire: on remplace les text objects aw, aW, iw et iW | ||||
| " pour effacer/remplacer un mot quand on n’est pas au début (daé / laé). | ||||
| onoremap aé aw | ||||
| onoremap aÉ aW | ||||
| onoremap ié iw | ||||
| onoremap iÉ iW | ||||
| " Pour faciliter les manipulations de fenêtres, on utilise {W} comme un Ctrl+W : | ||||
| noremap w <C-w> | ||||
| noremap W <C-w><C-w> | ||||
| 
 | ||||
| " [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 zt zk | ||||
| 
 | ||||
| " {HJKL} <- [CTSR] | ||||
| " ———————————————— | ||||
| " {J} = « Jusqu'à »            (j = suivant, J = précédant) | ||||
| noremap j t | ||||
| noremap J T | ||||
| " {L} = « Change »             (l = attend un mvt, L = jusqu'à la fin de ligne) | ||||
| noremap l c | ||||
| noremap L C | ||||
| " {H} = « Remplace »           (h = un caractère slt, H = reste en « Remplace ») | ||||
| 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 | ||||
| " onglet précédant / suivant | ||||
| noremap gb gT | ||||
| noremap gé gt | ||||
| " optionnel : {gB} / {gÉ} pour aller au premier / dernier onglet | ||||
| noremap gB :exe "silent! tabfirst"<CR> | ||||
| noremap gÉ :exe "silent! tablast"<CR> | ||||
| " optionnel : {g"} pour aller au début de la ligne écran | ||||
| noremap g" g0 | ||||
| 
 | ||||
| " <> en direct | ||||
| " ———————————— | ||||
| noremap « < | ||||
| noremap » > | ||||
| 
 | ||||
| " Remaper la gestion des fenêtres | ||||
| " ——————————————————————————————— | ||||
| noremap wt <C-w>j | ||||
| noremap ws <C-w>k | ||||
| noremap wc <C-w>h | ||||
| noremap wr <C-w>l | ||||
| noremap wd <C-w>c | ||||
| noremap wo <C-w>s | ||||
| noremap wp <C-w>o | ||||
| noremap w<SPACE> :split<CR> | ||||
| noremap w<CR> :vsplit<CR> | ||||
| 
 | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Touche MapLeader : | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Sauvegarde rapide | ||||
| nmap <leader>b <esc>:w<cr> | ||||
| imap <leader>b <esc>:w<cr> | ||||
| iunmap <leader>n | ||||
| imap <leader>n <esc>r i | ||||
|  | @ -0,0 +1,733 @@ | |||
| " ---------------------------------------------------------------------- | ||||
| 
 | ||||
| " |                             Fichiers de configuration de vim       | | ||||
| " |                                  Emplacement : ~/.vimrc            | | ||||
| " | Auteur               : Gardouille                                  | | ||||
| " | Version              : 1.12                                        | | ||||
| " |                                                                    | | ||||
| " | ----------------------- Modification à apporter -------------------| | ||||
| " | Modifications à apporter:                                          | | ||||
| " |   - voir le pliage/dépliage (za, zm, zr, ...)                      | | ||||
| " |   - voir l'option d'encodage (encoding, ...)                       | | ||||
| " |   - remapper l'incrémentation sur un chiffre avec CTRL-A           | | ||||
| " |   - permettre une incrémentation sur les lettres, hexa, ...        | | ||||
| " |   en plus des chiffres                                             | | ||||
| " -------------------------------------------------------------------- | | ||||
| " |                                                                    | | ||||
| " | --------------------------------------- Liens utiles ------------- | | ||||
| " | Liens utiles:                                                      | | ||||
| " | http://www.debian-fr.org/vim-t8605.html                            | | ||||
| " | http://www.swaroopch.com/notes/Vim_fr:Table_des_Mati%C3%A8res      | | ||||
| " | http://www.rayninfo.co.uk/vimtips.html                             | | ||||
| " | http://www.vim.org/tips/index.php                                  | | ||||
| " | http://linuxfr.org/news/vim-f%C3%AAte-son-20e%C2%A0anniversaire    | | ||||
| " | http://vimdoc.sourceforge.net/htmldoc/map.html#mapmode-n           | | ||||
| " ---------------------------------------------------------------------- | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Diverses options | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| set background=dark                           " fond sombre | ||||
| " Thème de couleur par défaut: | ||||
| "colorscheme peachpuff | ||||
| " Autre thèmes possibles: desert, delek, zellner, torte, elflord, evening, pablo, morning, peachpuff, blue, murphy, ron, zellner, darkblue, desert, koehler, and shine | ||||
| colorscheme torte | ||||
| "liste des couleur : ll /usr/share/vim/vim71/colors/ | ||||
| syntax on                                     " activation de la coloration syntaxique | ||||
| set number                                   " numérotation des lignes | ||||
| "set autoindent                               " indentation automatique avancée | ||||
| "set smartindent                              " indentation plus intelligente | ||||
| "set backspace=indent,eol,start                " autorisation du retour arrière | ||||
| set bs=2                                      " redéfinition du backspace | ||||
| set history=50                                " fixe l'historique à 50 commandes maxi | ||||
| set ruler                                     " affiche la position courante au sein du fichier | ||||
| set showcmd                                   " affiche la commande en cours | ||||
| set shiftwidth=2                              " taille des tabulations (nb d'espace) | ||||
| set softtabstop=2                             " taille des tabulations mixtes (tabulations et espaces) | ||||
| set tabstop=2                                 " taille des tabulations à l'affichage (nb d'espace) | ||||
| set expandtab                                 " transforme les tabulations en espaces | ||||
| set showmatch                                 " vérification présence (, [ ou { à la frappe de ), ] ou } | ||||
| filetype plugin indent on                     " détection automatique du type de fichier | ||||
| autocmd FileType text setlocal textwidth=80   " les fichiers de type .txt sont limités à 80 caractères par ligne | ||||
| autocmd FileType tex setlocal textwidth=80    " les fichiers de type .tex sont limités à 80 caractères par ligne | ||||
| set fileformats=unix,mac,dos                  " gestion des retours chariot en fonction du type de fichier | ||||
| set hlsearch                                  " surligne les résultats de la recherche | ||||
| " set nohls                                    " ne pas surligner les résultats de la recherche | ||||
| set incsearch                                 " recherche en même temps que la saisie | ||||
| set ignorecase                                " ne pas prendre en compte la casse pour les recherches | ||||
| "set noic                                      " Prendre en compte la casse pour les recherches | ||||
| set smartcase                                 " recherche respectueuse de la case quand une majuscule est saisie | ||||
| set cursorline                                " met en avant la ligne courante | ||||
| "set cursorcolumn                             " met en avant la colonne courante | ||||
| set so=2                                      " Place le curseur sur la 2ème ligne lors de mouvements verticaux | ||||
| set pt=<F11>                                  " évite la double indentation lors de c/c | ||||
| set cpoptions+=$                              " ajoute un $ pour indiquer la fin d'un remplacement | ||||
| set title                                     " Modifier le titre du terminal (ne semble pas fonctionner avec screen) | ||||
| set autochdir                                 " Modifie le répertoire courant pour vim en fonction du fichier ouvert | ||||
| set wildignore=*.swp,*.bak                    " Liste des fichiers ignorés lors de l'auto-complétion | ||||
| set virtualedit=all                           " Permet de se déplacer la ou il n'y a pas de caractères | ||||
| set formatoptions+=awt | ||||
| "set colorcolumn=81                            " Coloration bar caractère 80 | ||||
| set wrapmargin=0 | ||||
| 
 | ||||
| " Encodage par défaut des buffers et des fichiers | ||||
| set encoding=utf-8 | ||||
| set fileencoding=utf-8 | ||||
| 
 | ||||
| 
 | ||||
| " Path pour la recherche de fichier avec :find, :sfind et :tabfind | ||||
| " :find ouvrira à la place du fichier en cours le fichier trouvé | ||||
| " :sfind splittera l'écran | ||||
| " :tabfind ouvrira le fichier dans un nouvel onglet | ||||
| set path=.,/usr/include,/usr/local/include | ||||
| 
 | ||||
| " Couleur des éléments | ||||
| "hi StatusLine ctermfg=black ctermbg=green | ||||
| "hi TabLineFill ctermfg=black ctermbg=grey | ||||
| "hi TabLine ctermfg=black ctermbg=red | ||||
| "hi TabLineSel ctermfg=green ctermbg=black | ||||
| 
 | ||||
| 
 | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Touche MapLeader : | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Activation de la touche mapleader qui permet de faire des combinaisons | ||||
| " supplémentaires | ||||
| let mapleader = "," | ||||
| let g:mapleader = "," | ||||
| 
 | ||||
| " Sauvegarde rapide | ||||
| nmap <leader>w :w<cr> | ||||
| imap <leader>w <esc>:w<cr> | ||||
| nmap <leader>q :wq<cr> | ||||
| imap <leader>q <esc>:wq<cr> | ||||
| " Sauvegarder et exécuter le fichier courant | ||||
| nmap <leader>x :w<cr>:!./"%"<cr> | ||||
| 
 | ||||
| " Édition rapide de vimrc avec <leader>+e | ||||
| map <leader>e :e! ~/.vimrc<cr> | ||||
| 
 | ||||
| " Navigation dans les buffers | ||||
| " Détails sur les buffers: http://vim-fr.org/index.php/Buffer | ||||
| map <leader>t :bp<cr> | ||||
| map <leader>s :bn<cr> | ||||
| 
 | ||||
| "Navigation splits | ||||
| map <leader>j <C-w>j | ||||
| map <leader>h <C-w>h | ||||
| map <leader>k <C-w>k | ||||
| map <leader>l <C-w>l | ||||
| 
 | ||||
| 
 | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " UN PEU D'EXERCICE | ||||
| " H pour <- | ||||
| " L pour -> | ||||
| " J pour flèche bas | ||||
| " K pour flèche haut | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| "Désactiver les flèches | ||||
| " Mode commande | ||||
| nmap <right> <esc> | ||||
| nmap <left> <esc> | ||||
| nmap <up> <esc> | ||||
| nmap <down> <esc> | ||||
| " Mode insertion: | ||||
| imap <right> <esc> | ||||
| imap <left> <esc> | ||||
| imap <up> <esc> | ||||
| imap <down> <esc> | ||||
| 
 | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Mapping - Raccourcis clavier | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| "Désactive le surlignage des résultats d'une recherche en utilisant CTRL-n | ||||
| nnoremap <silent> <C-N> :set hlsearch!<cr>:set hlsearch?<cr> | ||||
| "Ajoute une ligne avant le curseur sans passer en mode insertion | ||||
| nnoremap <Space><Enter> o<ESC> | ||||
| 
 | ||||
| "Ajoute une ligne après le curseur sans passer en mode insertion | ||||
| map <Enter> O<ESC> | ||||
| 
 | ||||
| " Activer/désactiver la surbrillance des recherches avec F2 | ||||
| noremap <F2> :set hlsearch!<cr>:set hlsearch?<cr> | ||||
| " Activer/désactiver la correction avec F3 | ||||
| noremap <F3> :set spell!<cr>:set spell?<cr> | ||||
| " Activer/désactiver le mode collage | ||||
| noremap <F5> :set paste!<cr>:set paste?<cr> | ||||
| 
 | ||||
| " Remap de Echap sur jj | ||||
| imap jj <ESC> | ||||
| 
 | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Vim-Scripts : | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| if !filewritable ($HOME."/.vim/bundle") " Si le répertoire n'existe pas | ||||
|   call mkdir($HOME."/.vim/bundle", "p") " Création du répertoire de sauvegarde | ||||
| endif | ||||
| "########################## | ||||
| " Vundle : | ||||
| "########################## | ||||
| " https://github.com/gmarik/vundle | ||||
| " IF not available, use: | ||||
| " git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle | ||||
| set nocompatible               " be iMproved | ||||
| filetype off                   " required! | ||||
| 
 | ||||
| set rtp+=~/.vim/bundle/vundle/ | ||||
| call vundle#rc() | ||||
| 
 | ||||
| " let Vundle manage Vundle | ||||
| " required! | ||||
| Bundle 'gmarik/vundle' | ||||
| 
 | ||||
| " My Bundles here: | ||||
| " | ||||
| " original repos on github | ||||
| "Bundle 'tpope/vim-fugitive' | ||||
| "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' | ||||
| " ... | ||||
| 
 | ||||
| " For SnipMate | ||||
| Bundle "MarcWeber/vim-addon-mw-utils" | ||||
| Bundle "tomtom/tlib_vim" | ||||
| Bundle "garbas/vim-snipmate" | ||||
| " Optional: | ||||
| Bundle "honza/vim-snippets" | ||||
| 
 | ||||
| filetype plugin indent on     " required! | ||||
| " | ||||
| " Brief help | ||||
| " :BundleList          - list configured bundles | ||||
| " :BundleInstall(!)    - install(update) bundles | ||||
| " :BundleSearch(!) foo - search(or refresh cache first) for foo | ||||
| " :BundleClean(!)      - confirm(or auto-approve) removal of unused bundles | ||||
| " | ||||
| " see :h vundle for more details or wiki for FAQ | ||||
| " NOTE: comments after Bundle command are not allowed.. | ||||
| 
 | ||||
| 
 | ||||
| "########################## | ||||
| " Pathogen : | ||||
| "########################## | ||||
| " http://github.com/tpope/vim-pathogen | ||||
| Bundle "tpope/vim-pathogen" | ||||
| 
 | ||||
| execute pathogen#infect() | ||||
| 
 | ||||
| "########################## | ||||
| " Nerd_tree : | ||||
| "########################## | ||||
| " https://github.com/scrooloose/nerdtree | ||||
| " Nerd_tree - Permet d'afficher une arborescence du répertoire courant. | ||||
| Bundle "scrooloose/nerdtree" | ||||
| 
 | ||||
| " Raccourcis de la commande avec F10 | ||||
| map <F10> :NERDTreeToggle<cr> | ||||
| " Et <leader>n | ||||
| nmap <leader>n :NERDTreeToggle<cr> | ||||
| " Placer le volet à droite | ||||
| let NERDTreeWinPos='right' | ||||
| 
 | ||||
| "########################## | ||||
| " Nerd_commenter : | ||||
| "########################## | ||||
| " https://github.com/scrooloose/nerdcommenter | ||||
| " Mettre en commentaire une ligne | ||||
| " Également disponible dans le paquet vim-scripts | ||||
| Bundle "scrooloose/nerdcommenter" | ||||
| 
 | ||||
| " Commentaire basique, mais permet également de décommenter (Attention, il y a | ||||
| " un espace avec le C!) | ||||
| " Commenter/décommenter une ligne | ||||
| map ,, <leader>c<space> | ||||
| "map <F7> <Leader>c | ||||
| imap  <F7> <esc><F7> | ||||
| " Commentaire plus sexy, mais impossible à décommenter | ||||
| map <F8> <Leader>cs | ||||
| " Note, utilisé le mode visuel ligne SHIFT+V ou le mode visuel bloc CTRL+V | ||||
| 
 | ||||
| "########################## | ||||
| " Supertab-continued : | ||||
| "########################## | ||||
| " http://github.com/ervandew/supertab | ||||
| " SuperTab offre une autocomplétion amélioré. | ||||
| " http://www.vim.org/scripts/script.php?script_id=182 | ||||
| Bundle "ervandew/supertab" | ||||
| 
 | ||||
| " CTRL-N en mode insertion pour rechercher le suivant | ||||
| " CTRL-X - CTRL-L: rechercher une ligne complète à partir du début | ||||
| " CTRL-X - CTRL-K: rechercher dans le dictionnaire | ||||
| " Permet notamment de compléter avec des noms de variables déjà définies. | ||||
| " Pas de configuration spécifiques | ||||
| "imap <leader>d  | ||||
| "imap <leader>l  | ||||
| 
 | ||||
| "########################## | ||||
| " Syntastic : | ||||
| "########################## | ||||
| " https://github.com/scrooloose/syntastic | ||||
| Bundle "scrooloose/syntastic" | ||||
| 
 | ||||
| " Won't work ... | ||||
| let g:syntastic_mode_map = { 'mode': 'active', | ||||
|                                \ 'active_filetypes': ['ruby', 'php'], | ||||
|                                \ 'passive_filetypes': ['puppet'] } | ||||
| "let g:syntastic_puppet_checkers = ['puppet'] | ||||
| let g:syntastic_puppet_checkers = ['puppetlint'] | ||||
| 
 | ||||
| "########################## | ||||
| " Neocomplcache : | ||||
| "########################## | ||||
| " http://github.com/Shougo/neocomplcache | ||||
| Bundle "Shougo/neocomplcache" | ||||
| 
 | ||||
| " Use neocomplcache. | ||||
| let g:neocomplcache_enable_at_startup = 1 | ||||
| " Set minimum syntax keyword length. | ||||
| let g:neocomplcache_min_syntax_length = 3 | ||||
| let g:neocomplcache_lock_buffer_name_pattern = '\*ku\*' | ||||
| 
 | ||||
| "########################## | ||||
| " Puppet : | ||||
| "########################## | ||||
| " github.com/rodjek/vim-puppet.git | ||||
| Bundle "rodjek/vim-puppet" | ||||
| 
 | ||||
| "########################## | ||||
| " Tabular : | ||||
| "########################## | ||||
| " https://github.com/godlygeek/tabular | ||||
| Bundle "godlygeek/tabular" | ||||
| 
 | ||||
| "########################## | ||||
| " Airline : | ||||
| "########################## | ||||
| " https://github.com/bling/vim-airline | ||||
| Bundle 'bling/vim-airline' | ||||
| 
 | ||||
| " Activer la statusline pour airline | ||||
| let laststatus=2 | ||||
| " Smarter tab line | ||||
| let g:airline#extensions#tabline#enabled = 1 | ||||
| "let g:airline#extensions#tabline#left_sep = 'ˇ' | ||||
| "let g:airline#extensions#tabline#left_alt_sep = 'v' | ||||
| "let g:airline_powerline_fonts = 1 | ||||
| let g:airline_theme='molokai' | ||||
| "let g:airline_theme='lucius' | ||||
| 
 | ||||
| "########################## | ||||
| " Airline : | ||||
| "########################## | ||||
| " https://github.com/edkolev/tmuxline.vim | ||||
| "Bundle 'edkolev/tmuxline.vim' | ||||
| 
 | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Paramétrage de exuberant-ctags | ||||
| "http://ngressier.developpez.com/articles/vim/vim-plugin-taglist/#LC | ||||
| "Indispensable pour le bon fonctionnement du plugin Taglist | ||||
| """"""""""""""""""""""""""""""""""""""""""""""""" | ||||
| let Tlist_Ctags_Cmd = '/usr/bin/ctags' | ||||
| 
 | ||||
| "########################## | ||||
| " Showmark : | ||||
| "########################## | ||||
| " https://github.com/jacquesbh/vim-showmarks | ||||
| Bundle 'jacquesbh/vim-showmarks' | ||||
| " Show fucking marks | ||||
| noremap ' :ShowMarksOnce<cr> ' | ||||
| 
 | ||||
| "########################## | ||||
| " CTRL P : | ||||
| "########################## | ||||
| " https://github.com/kien/ctrlp.vim | ||||
| Bundle 'kien/ctrlp.vim' | ||||
| 
 | ||||
| "########################## | ||||
| " undo-tree : | ||||
| "########################## | ||||
| " https://github.com/mbbill/undotree | ||||
| Bundle 'mbbill/undotree' | ||||
| " UndoTree | ||||
| map <leader>u :UndotreeToggle<CR> " Mapping pour l'activer/désactiver | ||||
| 
 | ||||
| "########################## | ||||
| " auto-close : | ||||
| "########################## | ||||
| " Fermeture automatique des (, [, {, ... | ||||
| " https://github.com/Townk/vim-autoclose | ||||
| Bundle 'Townk/vim-autoclose' | ||||
| " Disable auto-close | ||||
| imap <silent> <leader>c <Esc>:AutoCloseToggle<CR> | ||||
| "avance d'un caratere en mode insert (vim-autoclose -> plus besoin de fermer les (, [, {, ...) | ||||
| imap <leader>n <esc>l i | ||||
| 
 | ||||
| "########################## | ||||
| " tagbar: | ||||
| "########################## | ||||
| " https://github.com/majutsushi/tagbar | ||||
| Bundle 'majutsushi/tagbar' | ||||
| " Open Tagbar: | ||||
| nmap <leader>t :TagbarToggle<CR> | ||||
| " Manage Puppet file (.pp): | ||||
| let g:tagbar_type_puppet = { | ||||
|     \ 'ctagstype': 'puppet', | ||||
|     \ 'kinds': [ | ||||
|         \'c:class', | ||||
|         \'s:site', | ||||
|         \'n:node', | ||||
|         \'d:definition' | ||||
|       \] | ||||
|     \} | ||||
| 
 | ||||
| "########################## | ||||
| " fugitive: | ||||
| "########################## | ||||
| " https://github.com/tpope/vim-fugitive | ||||
| "Bundle 'tpope/vim-fugitive' | ||||
| 
 | ||||
| "########################## | ||||
| " openssl: | ||||
| "########################## | ||||
| " https://github.com/ | ||||
| "Bundle 'openssl.vim' | ||||
| 
 | ||||
| "########################## | ||||
| " Exuberant-ctags: | ||||
| "########################## | ||||
| " https://github.com/b4n/ctags or debian package for Sid is SVN based | ||||
| 
 | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Paramétrage du plugin Taglist | ||||
| "http://ngressier.developpez.com/articles/vim/vim-plugin-taglist/#LD | ||||
| "Indispensable pour la deuxième status line définie dans ce fichier | ||||
| "Si première utilisation, faire un vim dans le dossier ~/.vim/doc/ et faire | ||||
| ":helptags" pour activer le plugin | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| "Mappage de l'ouverture et fermeture de la fenêtre des tags avec la touche F4 | ||||
| "nnoremap <silent> <F4> :TlistToggle<CR> | ||||
| ""map <F4> :TlistToogle<CR> | ||||
| "let Tlist_WinWidth = 50 | ||||
| "let Tlist_Process_File_Always = 1 " activation permanente du plugin pour la barre de statut | ||||
| "let Tlist_Exit_OnlyWindow = 1  " vim se ferme si il reste uniquement la fenêtre des tags | ||||
| "let Tlist_Use_Right_Window = 1   " affiche les tags sur le côté droit de l'écran | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Gestion des onglets | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Nouvel onglet | ||||
| map <C-t>       :tabnew<cr> | ||||
| " Changer d'onglet | ||||
| map <tab> :tabnext<cr> | ||||
| " Onglet suivant | ||||
| map <S-tab> :tabprevious<cr> | ||||
| " Se déplacer à l'onglet suivant | ||||
| map <C-left>    :tabnext<cr> | ||||
| " Se déplacer à l'onglet précédent | ||||
| map <C-right>   :tabprevious<cr> | ||||
| " Fermer l'onglet | ||||
| map <C-x>       :tabclose<cr> | ||||
| 
 | ||||
| 
 | ||||
| """"""""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Dictionnaire français | ||||
| """"""""""""""""""""""""""""""""""""""""""""""""""" | ||||
| set dictionary+=/usr/share/dict/french | ||||
| "Liste des propositions avec CTRL-X_CTRL-K ou <leader>xk | ||||
| imap <leader>xk  | ||||
| 
 | ||||
| """"""""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Correction orthographique | ||||
| "-------------En mode INSERTION :------------------ | ||||
| "Liste des propositions :         CTRL-X_s | ||||
| "-------------En mode COMMANDE :------------------- | ||||
| "Liste des propositions :         z= | ||||
| "Prochain mot mal orthographié :  ]s | ||||
| "Précédent mot mal orthographié : [s | ||||
| "Ajouter un mot au dictionnaire: zg | ||||
| """"""""""""""""""""""""""""""""""""""""""""""""""" | ||||
| if has("spell") | ||||
|     " La commande z= affiche 10 suggestions. En mode insertion: CRTL-X_s | ||||
|     set spellsuggest=10 | ||||
|     " On règle les touches d'activation manuelle de la correction orthographique | ||||
|     noremap <leader>sf :setlocal spell spelllang=fr <CR> | ||||
|     noremap <leader>se :setlocal spell spelllang=en <CR> | ||||
|     noremap <leader>sn :setlocal nospell <CR> | ||||
|     " On active automatiquement le mode spell pour les fichiers texte et LaTeX | ||||
|     autocmd BufEnter *.txt,*.tex set spell | ||||
|     " On applique le dictionnaire français pour tous les types de fichiers | ||||
|     autocmd BufEnter * set spelllang=fr | ||||
| endif | ||||
| 
 | ||||
| " Choix de la langue de l'aide | ||||
| set helplang=fr | ||||
| 
 | ||||
| " Liste des abréviations textes: | ||||
| iabbrev cad c'est-à-dire | ||||
| iabbrev svp s'il-vous-plaît | ||||
| iabbrev stp s'il-te-plaît | ||||
| iabbrev pcq parce que | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| """"""""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Modification de la barre de statut | ||||
| """"""""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Pas besoin de plugin | ||||
| "set laststatus=2 " Affiche la barre de statut quoi qu'il en soit (0 pour la masquer, 1 pour ne l'afficher que si l'écran est divise) | ||||
| "if has("statusline") | ||||
|     "set statusline= | ||||
|     "set statusline+=%< | ||||
|     "set statusline+=[%02n%H%M%R%W]                 " Numéro du buffer (2 digit), and flags | ||||
|     "set statusline+=\ %m                           " modified flag '[+]' if modifiable | ||||
|     "set statusline+=%f                             " Nom du fichier | ||||
|     "set statusline+=%r                             " read only flag '[RO]' | ||||
|     "set statusline+=%h                             " help flag '[Help]' | ||||
|     ""set statusline+=%1*\ [FORMAT=%{&ff}]%0*        " Format du fichier | ||||
|     "set statusline+=\ [FORMAT=%{&ff}]              " Format du fichier | ||||
|     "set statusline+=\ [TYPE=%Y]                    " Type de fichier | ||||
|     "set statusline+=\ [ENC=%{&fileencoding}]      " Encodage du fichier | ||||
|     "set statusline+=\ [POS=%04l,%03v]              " Position dans le fichier ligne/colonne | ||||
|     "set statusline+=%=                             " seperate between right- and left-aligned | ||||
|     "set statusline+=\ [%p%%]                         " Position dans le fichier en % | ||||
|     "set statusline+=\ [%l/%L]                     " Nombre de ligne dans le fichier | ||||
|     ""set statusline+=%1*%y%*%*                      " file type | ||||
|     "set statusline+=%{&hlsearch?'+':'-'}          " Résultat de recherche surligné (+: y; -: n) | ||||
|     "set statusline+=%{&paste?'=':'\ '} | ||||
|     "set statusline+=%{&wrap?'<':'>'} | ||||
| 
 | ||||
| "elseif has("cmdline_info") | ||||
|     "set ruler " Affiche la position du curseur en bas a gauche de l'écran | ||||
| "endif | ||||
| 
 | ||||
| 
 | ||||
| """"""""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Création des répertoires | ||||
| """"""""""""""""""""""""""""""""""""""""""""""""""" | ||||
| "################################ | ||||
| " Centralisation des backups : | ||||
| "################################ | ||||
| if !filewritable ($HOME."/.vim/backup") " Si le répertoire n'existe pas | ||||
|   call mkdir($HOME."/.vim/backup", "p") " Création du répertoire de sauvegarde | ||||
| endif | ||||
| " On définit le répertoire de sauvegarde | ||||
| set backupdir=$HOME/.vim/backup | ||||
| 
 | ||||
| " On active le comportement précédemment décrit | ||||
| set backup | ||||
| 
 | ||||
| "################################ | ||||
| " Undo persistant : | ||||
| "################################ | ||||
| " !!! Attention à la taille des fichiers de sauvegarde !!! | ||||
| if has("persistent_undo") | ||||
|   if !filewritable ($HOME."/.vim/undodir") " Si le répertoire n'existe pas | ||||
|     call mkdir($HOME."/.vim/undodir", "p") " Création du répertoire de sauvegarde | ||||
|   endif | ||||
|   " On définit le répertoire de sauvegarde | ||||
|   set undodir=$HOME/.vim/undodir " répertoire où seront stockés les modifications | ||||
|   set undofile                   " activation du undo persistant | ||||
|   set undolevels=100             " nombre maximum de changements sauvegardés | ||||
|   set undoreload=100             " nombre maximum de lignes sauvegardées | ||||
| endif | ||||
| 
 | ||||
| "################################ | ||||
| " Répertoire de chargement automatique des scripts | ||||
| "################################ | ||||
| if !filewritable ($HOME."/.vim/autoload") " Si le répertoire n'existe pas | ||||
|   call mkdir($HOME."/.vim/autoload", "p") " Création du répertoire de chargement automatique | ||||
| endif | ||||
| 
 | ||||
| "################################ | ||||
| " Répertoire pour les fichiers temporaires | ||||
| "################################ | ||||
| " Placer les fichiers .swp dans un autre répertoire | ||||
| if !filewritable ($HOME."/.vim/tmp") " Si le répertoire n'existe pas | ||||
|   call mkdir($HOME."/.vim/tmp", "p") " Création du répertoire temporaire | ||||
| endif | ||||
| set directory=$HOME/.vim/tmp | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| """"""""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Gestion des templates | ||||
| """"""""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Récupérer le nom du fichier | ||||
| " :!echo % (renvoie /Documents/fichier.tex ) | ||||
| " :!echo %:r (renvoie /Documents/fichier ) | ||||
| " :!echo %:e (renvoie tex ) | ||||
| " :!echo %:t (renvoie fichier.tex ) | ||||
| " :!echo %:p (renvoie /home/limax/Documents/fichier.tex ) | ||||
| " :!echo %:t (renvoie fichier.tex ) | ||||
| " :!echo %:h (renvoie Documents) | ||||
| 
 | ||||
| if has("autocmd") | ||||
|   augroup templates | ||||
|     autocmd! | ||||
|     autocmd BufNewFile *.html,*.htm call Template('html') | ||||
|     autocmd BufNewFile *.py call Template('py') | ||||
|     autocmd BufNewFile *.sh,*.bat call Template('sh') | ||||
|     autocmd BufNewFile *.c,*.cpp,*.sc,*.h call Template('c') | ||||
|     autocmd BufNewFile *.spr call Template('spr') | ||||
|     autocmd BufNewFile *.rec call Perso_recette('rec') | ||||
|     autocmd BufNewFile *.tex call Template('tex') | ||||
|     autocmd BufNewFile *.pp call Template('pp') | ||||
|   augroup END | ||||
| 
 | ||||
|   function! Template(type) | ||||
|     execute "0r ~/.vim/templates/skeleton.".a:type | ||||
|     execute "%s/!!FICHIER!!/".expand("%:t")."/e" | ||||
|     execute "%s/!!DATE!!/".strftime("%Y-%m-%d")."/e" | ||||
|     execute "%s/!!SQUELETTE!!/".expand("%:t:r")."/g" | ||||
|     execute "normal! 10G$" | ||||
|   endfunction | ||||
| 
 | ||||
|   function! Perso_recette(type) | ||||
|     execute "0r ~/.vim/templates/recette.tex" | ||||
|     execute "%s/!!FICHIER!!/".expand("%:t")."/e" | ||||
|     execute "%s/!!DATE!!/".strftime("%d-%m-%Y")."/e" | ||||
|     execute "normal! 10G$" | ||||
|   endfunction | ||||
| endif | ||||
| 
 | ||||
| 
 | ||||
| """"""""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Actions Automatiques | ||||
| """"""""""""""""""""""""""""""""""""""""""""""""""" | ||||
| 
 | ||||
| "################################ | ||||
| " Changer les droits d'un fichier | ||||
| "################################ | ||||
| """"""""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " donner des droits d'exécution si le fichier commence par #! et contient | ||||
| " /bin/ dans son chemin | ||||
| function ModeChange() | ||||
|   if getline(1) =~ "^#!" | ||||
|     if getline(1) =~ "/bin/" | ||||
|       silent !chmod a+x <afile> | ||||
|     endif | ||||
|   endif | ||||
| endfunction | ||||
| 
 | ||||
| au BufWritePost * call ModeChange() | ||||
| 
 | ||||
| 
 | ||||
| "################################ | ||||
| " Espaces - caractères superflus | ||||
| "################################ | ||||
| " Afficher '¬' pour indiquer une fin de ligne | ||||
| " Afficher '\' une fin de ligne avec des espaces en trop | ||||
| set list | ||||
| set listchars=eol:¬,trail:\ | ||||
| " Afficher les espaces superflus et les tabulations en gris clair | ||||
| highlight ExtraWhitespace ctermbg=lightgray guibg=lightred | ||||
| match ExtraWhitespace /\s\+$\|\t/ | ||||
| 
 | ||||
| " Suppression automatique des espaces superflus (avant sauvegarde) | ||||
| autocmd BufWritePre * :%s/\s\+$//e | ||||
| 
 | ||||
| 
 | ||||
| "################################ | ||||
| " Configuration BÉPO | ||||
| "################################ | ||||
| " Si la disposition bépo est détectée, charger automatiquement le fichier | ||||
| if !empty(system("setxkbmap -print|grep bepo")) | ||||
|   source ~/.vimrc.bepo | ||||
| endif | ||||
| " Chargement manuel pour les machines ne disposant pas de setxkbmap (serveurs) | ||||
| map <leader>é :source ~/.vimrc.bepo<cr> | ||||
| 
 | ||||
| 
 | ||||
| "################################ | ||||
| " Conserver emplacement curseur | ||||
| "################################ | ||||
| set viminfo='10,\"100,:20,%,n~/.viminfo | ||||
| au BufReadPost * if line("'\"") > 0|if line("'\"") <= line("$")|exe("norm '\"")|else|exe "norm $"|endif|endif | ||||
| 
 | ||||
| " Différences depuis le debut de l'edition | ||||
| "if !exists(":DiffOrig") | ||||
| " La commande suivante permet de comparer le fichier avec son ancien etat | ||||
| " (au moment de l'ouverture dans Vim). | ||||
| "command DiffOrig vertical new | set buftype=nofile | r # | 0d_ | | ||||
| "diffthis | ||||
| "\| wincmd p | diffthis | ||||
| " Mapping de la commande precedente | ||||
| "noremap <Leader>ch <Esc> :DiffOrig<CR> | ||||
| "endif | ||||
| 
 | ||||
| 
 | ||||
| "################################ | ||||
| " Recharger .vimrc après modif | ||||
| "################################ | ||||
| if has("autocmd") | ||||
|   autocmd! bufwritepost .vimrc source ~/.vimrc | ||||
| endif | ||||
| 
 | ||||
| 
 | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Chargement des types de fichiers | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| autocmd BufEnter *.txt set filetype=text | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| """"""""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Actions Manuelles | ||||
| """"""""""""""""""""""""""""""""""""""""""""""""""" | ||||
| 
 | ||||
| "################################ | ||||
| " Presse Papier | ||||
| "################################ | ||||
| 
 | ||||
| set clipboard=autoselect                      " Le texte sélectionné en mode visuel est collé dans le presse-papier PRIMARY | ||||
| 
 | ||||
| " Copier vers le presse papier graphique avec CTRL-C en mode visuel | ||||
| vmap <C-c> y:call system("xclip -i -selection clipboard", getreg("\""))<CR>:call system("xclip -i", getreg("\""))<CR> | ||||
| " Coller le contenu du presse papier graphique depuis le mode normal | ||||
| "nmap <C-v> :call setreg("\"",system("xclip -o -selection clipboard"))<CR>p | ||||
| 
 | ||||
| 
 | ||||
| "################################ | ||||
| " Lancer un navigateur internet | ||||
| "################################ | ||||
| """ Firefox | ||||
| " « v<leader>fd » cherche la définition du mot courant dans le TLFI | ||||
| vmap <leader>fd :<C-U>!firefox "http://www.cnrtl.fr/lexicographie/<cword>" >& /dev/null<CR><CR> | ||||
| " « v<leader>fs » cherche les synonymes du mot courant dans le TLFI | ||||
| vmap <leader>fs :<C-U>!firefox "http://www.cnrtl.fr/synonymie/<cword>" >& /dev/null<CR><CR> | ||||
| " « v<leader>fg » comme ci-dessus mais pour google | ||||
| vmap <leader>fg :<C-U>!firefox "http://www.google.fr/search?hl=fr&q=<cword>&btnG=Recherche+Google&meta=" >& /dev/null<CR><CR> | ||||
| "« v<leader>fw » comme ci-dessus mais pour wikipedia | ||||
| vmap <leader>fw :<C-U>!firefox "http://fr.wikipedia.org/wiki/<cword>" >& /dev/null<CR><CR> | ||||
| " « v<leader>fc » comme ci-dessus mais pour le conjugueur | ||||
| vmap <leader>fc :<C-U>!firefox "http://www.leconjugueur.com/php5/index.php?v=<cword>" >& /dev/null<CR><CR> | ||||
| " « v<leader>fo » ouvre l’url sur laquelle on se trouve dans firefox | ||||
| vmap <leader>fo :<C-U>!dwb "<cfile>" >& /dev/null &<CR><CR> | ||||
| 
 | ||||
| """ W3M | ||||
| " « v<leader>d » cherche la définition du mot courant dans le TLFI | ||||
| vmap <leader>d :<C-U>!w3m "http://www.cnrtl.fr/lexicographie/<cword>" <CR> | ||||
| " « v<leader>s » cherche les synonymes du mot courant dans le TLFI | ||||
| vmap <leader>s :<C-U>!w3m "http://www.cnrtl.fr/synonymie/<cword>" <CR> | ||||
| " « v<leader>g » comme ci-dessus mais pour google | ||||
| vmap <leader>g :<C-U>!w3m "http://www.google.fr/search?hl=fr&q=<cword>&btnG=Recherche+Google&meta=" <CR> | ||||
| "« v<leader>w » comme ci-dessus mais pour wikipedia | ||||
| vmap <leader>w :<C-U>!w3m "http://fr.wikipedia.org/wiki/<cword>" <CR> | ||||
| " « v<leader>c » comme ci-dessus mais pour le conjugueur | ||||
| vmap <leader>c :<C-U>!w3m "http://www.leconjugueur.com/php5/index.php?v=<cword>" <CR> | ||||
| " « v<leader>o » ouvre l’url sur laquelle on se trouve dans firefox | ||||
| vmap <leader>o :<C-U>!w3m "<cfile>" <CR> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  | @ -0,0 +1,261 @@ | |||
| " -------------------------------------------------------------------------------------------------- | ||||
| " |                             Fichier de configuration de vim                                    | | ||||
| " |                                  Emplacement : ~/.vimrc                                        | | ||||
| " | Auteur               : Gardouille Feat Papey                                                   | | ||||
| " | Derniers changements : Refonte totale du fihier                                                | | ||||
| " | Date                 : 2014/12/02                                                              | | ||||
| " | Version              : 0.1                                                                     | | ||||
| " -------------------------------------------------------------------------------------------------- | ||||
| 
 | ||||
| """""""""""""""""""""""""""""""""" | ||||
| " Options de bases | ||||
| """""""""""""""""""""""""""""""""" | ||||
| " Options diverses en vrac | ||||
| let g:hybrid_use_Xresources = 1               " le colorscheme utilise les couleurs du .Xressources | ||||
| colorscheme hybrid                            " colorscheme | ||||
| syntax enable                                 " activation de la coloration syntaxique | ||||
| set number                                    " numérotation des lignes | ||||
| set autoindent                                " indentation automatique avancée | ||||
| set smartindent                               " indentation plus intelligente | ||||
| set backspace=indent,eol,start                " autorisation du retour arrière | ||||
| set bs=2                                      " redéfinition du backspace | ||||
| set history=50                                " fixe l'historique à 50 commandes maxi | ||||
| set ruler                                     " affiche la position courante au sein du fichier | ||||
| set showcmd                                   " affiche la commande en cours | ||||
| set shiftwidth=4                              " taille des tabulations (nb d'espace) | ||||
| set softtabstop=4                             " taille des tabulations mixtes (tabulations et espaces) | ||||
| set tabstop=4                                 " taille des tabulations à l'affichage (nb d'espace) | ||||
| set expandtab                                 " transforme les tabulations en espaces | ||||
| set showmatch                                 " vérification présence (, [ ou { à la frappe de ), ] ou } | ||||
| filetype plugin indent on                     " détection automatique du type de fichier | ||||
| autocmd FileType text setlocal textwidth=80   " les fichiers de type .txt sont limités à 80 caractères par ligne | ||||
| autocmd FileType tex setlocal textwidth=80    " les fichiers de type .tex sont limités à 80 caractères par ligne | ||||
| set fileformats=unix,mac,dos                  " gestion des retours chariot en fonction du type de fichier | ||||
| set hlsearch                                  " surligne les résultats de la recherche | ||||
| " set nohls                                    " ne pas surligner les résultats de la recherche | ||||
| set incsearch                                 " recherche en même temps que la saisie | ||||
| set ignorecase                                " ne pas prendre en compte la casse pour les recherches | ||||
| "set noic                                      " Prendre en compte la casse pour les recherches | ||||
| "set smartcase                                 " recherche respectueuse de la case quand une majuscule est saisie | ||||
| set cursorline                                " met en avant la ligne courante | ||||
| "set cursorcolumn                             " met en avant la colonne courante | ||||
| set so=2                                      " Place le curseur sur la 2ème ligne lors de mouvements verticaux | ||||
| set pt=<F11>                                  " évite la double indentation lors de c/c | ||||
| set t_Co=256                                  " pour tmux 256 colors | ||||
| set cpoptions+=$                              " ajoute un $ pour indiquer la fin d'un remplacement (ex avec un "ce") | ||||
| set virtualedit=all                           " Permet de se déplacer la ou il n'y a pas de caractères | ||||
| set colorcolumn=81                            " Coloration bar caractère 80 | ||||
| 
 | ||||
| " Couleur des éléments | ||||
| hi StatusLine ctermfg=black ctermbg=green | ||||
| hi TabLineFill ctermfg=black ctermbg=grey | ||||
| hi TabLine ctermfg=black ctermbg=red | ||||
| hi TabLineSel ctermfg=green ctermbg=black | ||||
| 
 | ||||
| " White space characters | ||||
| set list | ||||
| set listchars=eol:¬,trail:\ | ||||
| 
 | ||||
| " Placer les fichiers .swp dans un autre répertoire | ||||
| if !filewritable ($HOME."/.vim/tmp") " Si le répertoire n'existe pas | ||||
|      call mkdir($HOME."/.vim/tmp", "p") " Création du répertoire temporaire | ||||
| endif | ||||
| set directory=$HOME/.vim/tmp | ||||
| 
 | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Touche MapLeader : | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Activation de la touche mapleader qui permet de faire des combinaisons | ||||
| " supplémentaires | ||||
| let mapleader = "," | ||||
| let g:mapleader = "," | ||||
| 
 | ||||
| " Sauvegarde rapide | ||||
| nmap <leader>w :w!<cr> | ||||
| nmap <leader>q :wq<cr> | ||||
| 
 | ||||
| " Édition rapide de vimrc | ||||
| map <leader>e :e! ~/.vimrc<cr> | ||||
| " Recharge le vimrc | ||||
| map <leader>< :source ~/.vimrc<cr> | ||||
| 
 | ||||
| " Navigation dans les buffers | ||||
| " Détails sur les buffers: http://vim-fr.org/index.php/Buffer | ||||
| map <leader>t :bp<cr> | ||||
| map <leader>s :bn<cr> | ||||
| 
 | ||||
| "Navigation splits | ||||
| map <leader>j <C-w>j | ||||
| map <leader>h <C-w>h | ||||
| map <leader>k <C-w>k | ||||
| map <leader>l <C-w>l | ||||
| 
 | ||||
| 
 | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Exercice mon gars | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " UN PEU D'EXERCICE BORDEL | ||||
| " H pour <- | ||||
| " L pour -> | ||||
| " J pour flèche bas | ||||
| " K pour flèche haut | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| "Désactiver les flèches | ||||
| " Mode commande | ||||
| map <right> <esc> | ||||
| map <left> <esc> | ||||
| map <up> <esc> | ||||
| map <down> <esc> | ||||
| " Mode insertion | ||||
| imap <right> <esc> | ||||
| imap <left> <esc> | ||||
| imap <up> <esc> | ||||
| imap <down> <esc> | ||||
| 
 | ||||
| 
 | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Mapping : | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| "Désactive le surlignage des résultats d'une recherche en utilisant CTRL-n | ||||
| nnoremap <silent> <C-N> :noh<CR> | ||||
| "Ajoute une ligne avant le curseur sans passer en mode insertion | ||||
| nnoremap <Space><Enter> o<ESC> | ||||
| "Ajoute une ligne après le curseur sans passer en mode insertion | ||||
| map <Enter> O<ESC> | ||||
| 
 | ||||
| "Permet la compilation d'un document latex grace a F6 | ||||
| inoremap <leader>i <Esc>:w<cr>:!pdflatex %<cr>i | ||||
| "Raccourcis pour un make plus rapide | ||||
| inoremap <leader>m <Esc>:w<cr>:make<cr> | ||||
| "avance d'un caratere en mode insert (vim-autoclose) | ||||
| inoremap <leader>n <Esc>l i | ||||
| 
 | ||||
| " Remap de echap sur jj | ||||
| inoremap jj <esc> | ||||
| 
 | ||||
| " Se déplacer dans les onglets | ||||
| map <tab> gt | ||||
| 
 | ||||
| 
 | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Positionner le curseur à l'emplacement de la | ||||
| "dernière édition | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| set viminfo='10,\"100,:20,%,n~/.viminfo | ||||
| au BufReadPost * if line("'\"") > 0|if line("'\"") <= line("$")|exe("norm '\"")|else|exe "norm $"|endif|endif | ||||
| 
 | ||||
| 
 | ||||
| """"""""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Création et centralisation des backups et undo persistant | ||||
| """"""""""""""""""""""""""""""""""""""""""""""""""" | ||||
| if !filewritable ($HOME."/.vim/backup") " Si le répertoire n'existe pas | ||||
|   call mkdir($HOME."/.vim/backup", "p") " Création du répertoire de sauvegarde | ||||
| endif | ||||
| " On définit le répertoire de sauvegarde | ||||
| set backupdir=$HOME/.vim/backup | ||||
| 
 | ||||
| " On active le comportement précédemment décrit | ||||
| set backup | ||||
| 
 | ||||
| " Undo persistant | ||||
| if !filewritable ($HOME."/.vim/undodir") " Si le répertoire n'existe pas | ||||
|   call mkdir($HOME."/.vim/undodir", "p") " Création du répertoire de sauvegarde | ||||
| endif | ||||
| set undodir=~/.vim/undodir " répertoire où seront stockés les modifications | ||||
| set undofile               " activation du undo persistant | ||||
| set undolevels=100         " nombre maximum de changements sauvegardés | ||||
| set undoreload=100         " nombre maximum de lignes sauvegardées | ||||
| 
 | ||||
| 
 | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Plugins : | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " ----- Vundle | ||||
| set nocompatible              " be iMproved | ||||
| filetype off                  " required! | ||||
| 
 | ||||
| set rtp+=~/.vim/bundle/vundle/ | ||||
| call vundle#rc() | ||||
| 
 | ||||
| " let Vundle manage Vundle | ||||
| " required! | ||||
| Bundle 'gmarik/vundle' | ||||
| 
 | ||||
| " My bundles here: | ||||
| " | ||||
| " original repos on GitHub | ||||
| Bundle 'tpope/vim-fugitive' | ||||
| Bundle 'Lokaltog/vim-easymotion' | ||||
| Bundle 'scrooloose/nerdtree' | ||||
| Bundle 'scrooloose/nerdcommenter' | ||||
| Bundle 'bling/vim-airline' | ||||
| Bundle 'mbbill/undotree' | ||||
| Bundle 'Townk/vim-autoclose' | ||||
| Bundle 'edkolev/tmuxline.vim' | ||||
| Bundle 'Shougo/neocomplete.vim' | ||||
| Bundle 'Shougo/neosnippet.vim' | ||||
| Bundle 'honza/vim-snippets' | ||||
| Bundle 'SirVer/ultisnips' | ||||
| Bundle 'majutsushi/tagbar' | ||||
| Bundle 'kien/ctrlp.vim' | ||||
| Bundle 'jacquesbh/vim-showmarks' | ||||
| " vim-scripts repos | ||||
| " non-GtHub repos | ||||
| " Git repos on your local machine (i.e. when working on your own plugin) | ||||
| " ... | ||||
| 
 | ||||
| filetype plugin indent on     " required! | ||||
| " | ||||
| " Brief help | ||||
| " :BundleList          - list configured bundles | ||||
| " :BundleInstall(!)    - install (update) bundles | ||||
| " :BundleSearch(!) foo - search (or refresh cache first) for foo | ||||
| " :BundleClean(!)      - confirm (or auto-approve) removal of unused bundles | ||||
| " | ||||
| " see :h vundle for more details or wiki for FAQ | ||||
| " NOTE: comments after Bundle commands are not allowed. | ||||
| 
 | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Configuration des plugins : | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| 
 | ||||
| " Nerdtree | ||||
| map <leader>z :NERDTreeToggle<CR> " Mapping pour l'activer/désactiver | ||||
| let NERDTreeWinPos='right' " Positionné à droite | ||||
| 
 | ||||
| " UndoTree | ||||
| map <leader>q :UndotreeToggle<CR> " Mapping pour l'activer/désactiver | ||||
| 
 | ||||
| " Vim airline | ||||
| set laststatus=2 | ||||
| let g:airline#extensions#tabline#enabled = 1 | ||||
| let g:airline_powerline_fonts = 1 | ||||
| let g:airline_theme='lucius' | ||||
| 
 | ||||
| " Neocompcache | ||||
| let g:neocomplete#enable_at_startup = 1 | ||||
| 
 | ||||
| imap kk     <Plug>(neosnippet_expand_or_jump) | ||||
| 
 | ||||
| " SuperTab like snippets behavior. | ||||
| imap <expr><TAB> neosnippet#expandable_or_jumpable() ? | ||||
| \ "\<Plug>(neosnippet_expand_or_jump)" | ||||
| \: pumvisible() ? "\<C-n>" : "\<TAB>" | ||||
| smap <expr><TAB> neosnippet#expandable_or_jumpable() ? | ||||
| \ "\<Plug>(neosnippet_expand_or_jump)" | ||||
| \: "\<TAB>" | ||||
| 
 | ||||
| " For snippet_complete marker. | ||||
| if has('conceal') | ||||
|   set conceallevel=2 concealcursor=i | ||||
| endif | ||||
| 
 | ||||
| " Enable snipMate compatibility feature. | ||||
| let g:neosnippet#enable_snipmate_compatibility = 1 | ||||
| 
 | ||||
| " Tell Neosnippet about the other snippets | ||||
| let g:neosnippet#snippets_directory='~/.vim/bundle/vim-snippets' | ||||
| 
 | ||||
| " Show fucking show marks | ||||
| noremap ' :ShowMarksOnce<cr> ' | ||||
| 
 | ||||
		Loading…
	
		Reference in New Issue