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