162 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			162 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
| " ------ [ Gestion des options ] ----------------------------------------------
 | |
| 
 | |
| " We don't want vi compatibility.
 | |
| set nocompatible
 | |
| 
 | |
| " we have a fast terminal
 | |
| set ttyfast
 | |
| 
 | |
| " ------ [ Gestion des plugins ] ----------------------------------------------
 | |
| 
 | |
| execute pathogen#infect()
 | |
| 
 | |
| " ------[ Gestion de la barre de statut ] ----------------------------------------------
 | |
| 
 | |
| " Display title
 | |
| set title
 | |
| 
 | |
| " ruler display in status line
 | |
| set ruler
 | |
| 
 | |
| " show mode at bottom of screen
 | |
| set showmode
 | |
| 
 | |
| " Custom statusline
 | |
| " cf the default statusline: %<%f\ %h%m%r%=%-14.(%l,%c%V%)\ %P
 | |
| " format markers:
 | |
| "   %< truncation point
 | |
| "   %n buffer number
 | |
| "   %f relative path to file
 | |
| "   %m modified flag [+] (modified), [-] (unmodifiable) or nothing
 | |
| "   %r readonly flag [RO]
 | |
| "   %y filetype [ruby]
 | |
| "   %= split point for left and right justification
 | |
| "   %-35. width specification
 | |
| "   %l current line number
 | |
| "   %L number of lines in buffer
 | |
| "   %c current column number
 | |
| "   %V current virtual column number (-n), if different from %c
 | |
| "   %P percentage through buffer
 | |
| "   %) end of width specification
 | |
| set statusline=
 | |
| set statusline+=%n   " buffer number
 | |
| set statusline+=\    " space separator
 | |
| set statusline+=%t   " file name
 | |
| set statusline+=%=   " right align
 | |
| set statusline+=%m%r%h%w
 | |
| set statusline+=\    " space separator
 | |
| set statusline+=Encoding:[%{strlen(&fenc)?&fenc:&enc}] " encoding
 | |
| set statusline+=\    " space separator
 | |
| set statusline+=Type:%y
 | |
| set statusline+=\    " space separator
 | |
| set statusline+=Curseur:[colonne\ %c/ligne\ %l]
 | |
| set statusline+=\    " space separator
 | |
| set statusline+=Position:[%l/%L\ (%p%%)]
 | |
| 
 | |
| " occasions to show status line, 2=always.
 | |
| set laststatus=2
 | |
| 
 | |
| " ------[ Gestion du fichier viminfo ] ----------------------------------------------
 | |
| 
 | |
| " Tell vim to remember certain things when we exit
 | |
| "  '10  :  marks will be remembered for up to 10 previously edited files
 | |
| "  "100 :  will save up to 100 lines for each register
 | |
| "  :100 :  up to 100 lines of command-line history will be remembered
 | |
| "  %    :  saves and restores the buffer list
 | |
| "  n... :  where to save the viminfo files
 | |
| set viminfo='10,\"100,:100,%,n~/.vim/viminfo
 | |
| 
 | |
| " ------[ Restauration de la position du curseur ] ----------------------------------------------
 | |
| 
 | |
| function! ResCur()
 | |
|   if line("'\"") <= line("$")
 | |
|     normal! g`"
 | |
|     return 1
 | |
|   endif
 | |
| endfunction
 | |
| 
 | |
| augroup resCur
 | |
|   autocmd!
 | |
|   autocmd BufWinEnter * call ResCur()
 | |
| augroup END
 | |
| 
 | |
| " ------ [ Gestion de la coloration syntaxique ] ----------------------------------------------
 | |
| syntax on
 | |
| 
 | |
| " ------ [ Gestion de la correction d'orthographe ] ----------------------------------------------
 | |
| setlocal nospell
 | |
| setlocal spelllang=fr
 | |
| 
 | |
| " ------[ Gestion des types de fichiers ] ----------------------------------------------
 | |
| 
 | |
| filetype on           " Enable filetype detection
 | |
| filetype indent on    " Enable filetype-specific indenting
 | |
| filetype plugin on    " Enable filetype-specific plugins
 | |
| 
 | |
| "misc
 | |
| autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
 | |
| autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
 | |
| autocmd FileType css set omnifunc=csscomplete#CompleteCSS
 | |
| autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
 | |
| autocmd FileType php set omnifunc=phpcomplete#CompletePHP
 | |
| autocmd FileType c set omnifunc=ccomplete#Complete
 | |
| 
 | |
| "ruby
 | |
| autocmd BufNewFile,BufRead *Capfile* set filetype=ruby
 | |
| autocmd FileType ruby,eruby set omnifunc=rubycomplete#Complete
 | |
| autocmd FileType ruby,eruby let g:rubycomplete_buffer_loading = 1
 | |
| autocmd FileType ruby,eruby let g:rubycomplete_rails = 1
 | |
| autocmd FileType ruby,eruby let g:rubycomplete_classes_in_global = 1
 | |
| 
 | |
| " ------[ Gestion des types de terminaux ] ----------------------------------------------
 | |
| 
 | |
| if     (&term =~ 'xterm')
 | |
| 	set termencoding=utf-8
 | |
| 	set t_Co=256
 | |
| 	set mouse=a
 | |
| 	colorscheme mustang
 | |
| elseif (&term =~ 'rxvt')
 | |
| 	set termencoding=utf-8
 | |
| 	set t_Co=256
 | |
| 	set mouse=a
 | |
| 	colorscheme mustang
 | |
| 	map <C-up> :tabr<cr>
 | |
| 	map <C-down> :tabl<cr>
 | |
| 	map <C-t><left> :tabp<cr>
 | |
| 	map <C-t><right> :tabn<cr>
 | |
| elseif (&term =~ 'screen')
 | |
| 	set termencoding=utf-8
 | |
| 	set t_Co=16
 | |
| 	set background=dark
 | |
| 	colorscheme zenburn
 | |
| elseif (&term =~ 'screen-256color')
 | |
| 	set termencoding=utf-8
 | |
| 	set t_Co=256
 | |
| 	set mouse=a
 | |
| 	colorscheme mustang
 | |
| elseif (&term =~ 'linux')
 | |
| 	set termencoding=utf-8
 | |
| 	set t_Co=16
 | |
| else
 | |
| 	set termencoding=utf-8
 | |
| 	set t_Co=16
 | |
| endif
 | |
| 
 | |
| " ------[ Paste ] ----------------------------------------------
 | |
| 
 | |
| function! PasteToggle()
 | |
|   set invpaste
 | |
|   set paste?
 | |
| endfunction
 | |
| 
 | |
| map <F2> :call PasteToggle()<CR>
 | |
| imap <F2> <c-o>:call PasteToggle()<CR>
 | |
| set pastetoggle=<F2>
 | |
| 
 | |
| " ------[ Mapping ] ----------------------------------------------
 | |
| let mapleader = ","
 | |
| 
 | |
| map <Leader>ve :tabedit ~/.vimrc<CR>
 | |
| map <Leader>ne :tabedit ~/.notes<CR>
 | |
| map <Leader>te :tabedit ~/.todo<CR>
 |