981 lines
		
	
	
		
			34 KiB
		
	
	
	
		
			VimL
		
	
	
	
			
		
		
	
	
			981 lines
		
	
	
		
			34 KiB
		
	
	
	
		
			VimL
		
	
	
	
| " ----------------------------------------------------------------------
 | ||
| " |                             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
 | ||
| """"""""""""""""""""""""""""""""""""""""""""""""
 | ||
| " 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
 | ||
| "liste des couleur : ll /usr/share/vim/vim7*/colors/
 | ||
| "colorscheme torte
 | ||
| let g:hybrid_use_Xresources = 1               " le colorscheme utilise les couleurs du .Xressources
 | ||
| set background=dark
 | ||
| colorscheme hybrid
 | ||
| syntax on                                     " activation de la coloration syntaxique
 | ||
| set number                                    " numérotation des lignes
 | ||
| hi LineNr ctermbg=none ctermfg=2
 | ||
| "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 t_Co=256                                  " pour tmux 256 colors
 | ||
| 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
 | ||
| set foldmethod=marker                         " Use folding with marker (default: {{{ or }}})
 | ||
| 
 | ||
| " 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>
 | ||
| map <leader>a <Esc>:wa<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>
 | ||
| 
 | ||
| """ Buffers
 | ||
| " Gestion des splits
 | ||
| map <C-w><Space> :split<Space>
 | ||
| map <C-w><Return> :vsplit<Space>
 | ||
| " Navigation
 | ||
| " Détails sur les buffers: http://vim-fr.org/index.php/Buffer
 | ||
| "map <leader>p :bp<cr>
 | ||
| "map <leader>s :bn<cr>
 | ||
| map <leader>b <Esc>:b<Space>
 | ||
| 
 | ||
| "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
 | ||
| 
 | ||
| " Save with sudo permissions
 | ||
| nmap <leader>s :w !sudo tee %<cr>
 | ||
| imap <leader>s <esc>:w !sudo tee %<cr>
 | ||
| 
 | ||
| """"""""""""""""""""""""""""""""""""""""""""""""
 | ||
| " 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 :
 | ||
| """"""""""""""""""""""""""""""""""""""""""""""""
 | ||
| "##########################
 | ||
| " Vundle :
 | ||
| "##########################
 | ||
| " https://github.com/VundleVim/Vundle.vim
 | ||
| " IF not available, use:
 | ||
| " git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/vundle
 | ||
| set nocompatible               " be iMproved
 | ||
| 
 | ||
| let has_vundle=1
 | ||
| let vundle_readme=expand('~/.vim/bundle/Vundle.vim/README.md')
 | ||
| if !filereadable(vundle_readme)
 | ||
|   echo "Installing Vundle…"
 | ||
|   echo ""
 | ||
|   silent !mkdir -p ~/.vim/bundle
 | ||
|   silent !git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
 | ||
|   let has_vundle=0
 | ||
| endif
 | ||
| filetype off                        " required!
 | ||
| set rtp+=~/.vim/bundle/Vundle.vim/
 | ||
| call vundle#begin()
 | ||
| 
 | ||
| " Add all bundles you want
 | ||
| 
 | ||
| " Vundle plugin (required)
 | ||
| Plugin 'VundleVim/Vundle.vim'
 | ||
| 
 | ||
| " Snippets like textmate
 | ||
| Plugin 'MarcWeber/vim-addon-mw-utils'
 | ||
| Plugin 'tomtom/tlib_vim'
 | ||
| Plugin 'garbas/vim-snipmate'
 | ||
| Plugin 'honza/vim-snippets'
 | ||
| 
 | ||
| " Display a tree of directories
 | ||
| Plugin 'scrooloose/nerdtree'
 | ||
| 
 | ||
| " Super easy commenting, toggle comments, …
 | ||
| Plugin 'scrooloose/nerdcommenter'
 | ||
| 
 | ||
| " <Tab> everything
 | ||
| Plugin 'ervandew/supertab'
 | ||
| 
 | ||
| " Awesome syntax checker
 | ||
| " REQUIREMENTS: See :h syntastic-intro
 | ||
| Plugin 'scrooloose/syntastic'
 | ||
| 
 | ||
| " Advanced auto-completion system
 | ||
| Plugin 'Shougo/neocomplcache'
 | ||
| 
 | ||
| " Make vim mor Puppet friendly
 | ||
| Plugin 'rodjek/vim-puppet'
 | ||
| 
 | ||
| " Auto alignment (for Puppet for example)
 | ||
| Plugin 'godlygeek/tabular'
 | ||
| 
 | ||
| " A pretty statusline, bufferline integration
 | ||
| Plugin 'itchyny/lightline.vim'
 | ||
| Plugin 'bling/vim-bufferline'
 | ||
| "Plugin 'bling/vim-airline'
 | ||
| "Bundle 'edkolev/tmuxline.vim'
 | ||
| 
 | ||
| " Give viual aid to navigate marks
 | ||
| Plugin 'jacquesbh/vim-showmarks'
 | ||
| 
 | ||
| " Furry finder (files, mru, …)
 | ||
| Plugin 'kien/ctrlp.vim'
 | ||
| 
 | ||
| " Undo history visualizer
 | ||
| Plugin 'mbbill/undotree'
 | ||
| 
 | ||
| " Autoclose (, ", …
 | ||
| Plugin 'Townk/vim-autoclose'
 | ||
| 
 | ||
| " Functions, class data …
 | ||
| " REQUIREMENTS: (exuberant)-ctags
 | ||
| Plugin 'majutsushi/tagbar'
 | ||
| 
 | ||
| " Git wrapper inside Vim
 | ||
| Plugin 'tpope/vim-fugitive'
 | ||
| 
 | ||
| " Glorious colorscheme
 | ||
| Plugin 'w0ng/vim-hybrid'
 | ||
| 
 | ||
| " Finish Vundle stuff
 | ||
| call vundle#end()
 | ||
| 
 | ||
| " Auto install all plugins
 | ||
| if has_vundle == 0
 | ||
|   echo "Installing Plugins/Bundles, please ignore key map error messages"
 | ||
|   echo ""
 | ||
|   silent !vim +PluginInstall +qall
 | ||
|   ":silent! PluginInstall
 | ||
|   ":qa
 | ||
| endif
 | ||
| 
 | ||
| """ User interface {{{
 | ||
|     """ Custom highlighting, where NONE uses terminal background {{{
 | ||
| function! CustomHighlighting()
 | ||
|   highlight Normal      ctermbg=NONE
 | ||
|   highlight NonText     ctermbg=NONE
 | ||
|   highlight LineNr      ctermbg=NONE
 | ||
|   highlight SignColumn  ctermbg=NONE
 | ||
|   highlight SignColumn  guibg=#151515
 | ||
|   highlight CursorLine  ctermbg=235
 | ||
| endfunction
 | ||
| 
 | ||
| call CustomHighlighting()
 | ||
|     """ }}}
 | ||
| """ }}}
 | ||
| 
 | ||
| "##########################
 | ||
| " SnipMate
 | ||
| "##########################
 | ||
| "Plugin "MarcWeber/vim-addon-mw-utils"
 | ||
| "Plugin "tomtom/tlib_vim"
 | ||
| "Plugin "garbas/vim-snipmate"
 | ||
| " Optional:
 | ||
| "Plugin "honza/vim-snippets"
 | ||
| 
 | ||
| filetype plugin indent on     " required!
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| "##########################
 | ||
| " Pathogen :
 | ||
| "##########################
 | ||
| " http://github.com/tpope/vim-pathogen
 | ||
| "Plugin "tpope/vim-pathogen"
 | ||
| 
 | ||
| "execute pathogen#infect()
 | ||
| 
 | ||
| "##########################
 | ||
| " Nerd_tree :
 | ||
| "##########################
 | ||
| " https://github.com/scrooloose/nerdtree
 | ||
| " Nerd_tree - Permet d'afficher une arborescence du répertoire courant.
 | ||
| "Plugin "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
 | ||
| "Plugin "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
 | ||
| "Plugin "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
 | ||
| "Plugin "scrooloose/syntastic"
 | ||
| 
 | ||
| " Won't work ...
 | ||
| let g:syntastic_mode_map = { 'mode': 'active',
 | ||
|    \ 'active_filetypes': ['markdown', 'php', 'ruby', 'sh', 'zsh'],
 | ||
|    \ 'passive_filetypes': ['puppet', 'sql', 'vim'] }
 | ||
| "let g:syntastic_puppet_checkers = ['puppet']
 | ||
| let g:syntastic_puppet_checkers = ['puppetlint']
 | ||
| 
 | ||
| "##########################
 | ||
| " Neocomplcache :
 | ||
| "##########################
 | ||
| " http://github.com/Shougo/neocomplcache
 | ||
| "Plugin "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
 | ||
| "Plugin "rodjek/vim-puppet"
 | ||
| 
 | ||
| "##########################
 | ||
| " Tabular :
 | ||
| "##########################
 | ||
| " https://github.com/godlygeek/tabular
 | ||
| "Plugin "godlygeek/tabular"
 | ||
| 
 | ||
| "##########################
 | ||
| " Airline :
 | ||
| "##########################
 | ||
| " https://github.com/bling/vim-airline
 | ||
| "Plugin 'bling/vim-airline'
 | ||
| 
 | ||
| " Toujours afficher la barre de statut
 | ||
| "set laststatus=2                                     " always show statusline
 | ||
| "" 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'
 | ||
| 
 | ||
| "##########################
 | ||
| " Tmuxline :
 | ||
| "##########################
 | ||
| " https://github.com/edkolev/tmuxline.vim
 | ||
| "Plugin 'edkolev/tmuxline.vim'
 | ||
| 
 | ||
| "##########################
 | ||
| " Lightline :
 | ||
| "##########################
 | ||
| """ Lightline {{{
 | ||
| 
 | ||
| set laststatus=2                                     " always show statusline
 | ||
| let g:lightline = {
 | ||
|   \ 'colorscheme': 'jellybeans',
 | ||
|   \ 'active': {
 | ||
|   \     'left': [
 | ||
|   \         ['mode', 'paste'],
 | ||
|   \         ['readonly', 'fugitive'],
 | ||
|   \         ['ctrlpmark', 'bufferline']
 | ||
|   \     ],
 | ||
|   \     'right': [
 | ||
|   \         ['lineinfo'],
 | ||
|   \         ['percent'],
 | ||
|   \         ['fileformat', 'fileencoding', 'filetype', 'syntastic']
 | ||
|   \     ]
 | ||
|   \ },
 | ||
|   \ 'component': {
 | ||
|   \     'paste': '%{&paste?"!":""}'
 | ||
|   \ },
 | ||
|   \ 'component_function': {
 | ||
|   \     'mode'         : 'MyMode',
 | ||
|   \     'fugitive'     : 'MyFugitive',
 | ||
|   \     'readonly'     : 'MyReadonly',
 | ||
|   \     'ctrlpmark'    : 'CtrlPMark',
 | ||
|   \     'bufferline'   : 'MyBufferline',
 | ||
|   \     'fileformat'   : 'MyFileformat',
 | ||
|   \     'fileencoding' : 'MyFileencoding',
 | ||
|   \     'filetype'     : 'MyFiletype'
 | ||
|   \ },
 | ||
|   \ 'component_expand': {
 | ||
|   \     'syntastic': 'SyntasticStatuslineFlag',
 | ||
|   \ },
 | ||
|   \ 'component_type': {
 | ||
|   \     'syntastic': 'middle',
 | ||
|   \ },
 | ||
|   \ 'subseparator': {
 | ||
|   \     'left': 'ᑄ', 'right': 'ᑁ'
 | ||
|   \ }
 | ||
|   \ }
 | ||
| 
 | ||
| let g:lightline.mode_map = {
 | ||
|   \ 'n'      : ' Normal ',
 | ||
|   \ 'i'      : ' Insert ',
 | ||
|   \ 'R'      : ' Replace ',
 | ||
|   \ 'v'      : ' Visual ',
 | ||
|   \ 'V'      : 'Visual-L',
 | ||
|   \ 'c'      : ' C ',
 | ||
|   \ "\<C-v>" : 'Visual-B',
 | ||
|   \ 's'      : ' Sub ',
 | ||
|   \ 'S'      : 'Sub-L',
 | ||
|   \ "\<C-s>" : 'Sub-B',
 | ||
|   \ '?'      : '      ' }
 | ||
| 
 | ||
|         function! MyMode()
 | ||
|             let fname = expand('%:t')
 | ||
|             return fname == '__Tagbar__' ? 'Tagbar' :
 | ||
|                     \ fname == 'ControlP' ? 'CtrlP' :
 | ||
|                     \ winwidth('.') > 60 ? lightline#mode() : ''
 | ||
|         endfunction
 | ||
| 
 | ||
|         function! MyFugitive()
 | ||
|             try
 | ||
|                 if expand('%:t') !~? 'Tagbar' && exists('*fugitive#head')
 | ||
|                     let mark = '± '
 | ||
|                     let _ = fugitive#head()
 | ||
|                     return strlen(_) ? mark._ : ''
 | ||
|                 endif
 | ||
|             catch
 | ||
|             endtry
 | ||
|             return ''
 | ||
|         endfunction
 | ||
| 
 | ||
|         function! MyReadonly()
 | ||
|             return &ft !~? 'help' && &readonly ? '≠' : '' " or ⭤
 | ||
|         endfunction
 | ||
| 
 | ||
|         function! CtrlPMark()
 | ||
|             if expand('%:t') =~ 'ControlP'
 | ||
|                 call lightline#link('iR'[g:lightline.ctrlp_regex])
 | ||
|                 return lightline#concatenate([g:lightline.ctrlp_prev, g:lightline.ctrlp_item
 | ||
|                     \ , g:lightline.ctrlp_next], 0)
 | ||
|             else
 | ||
|                 return ''
 | ||
|             endif
 | ||
|         endfunction
 | ||
| 
 | ||
|         function! MyBufferline()
 | ||
|             call bufferline#refresh_status()
 | ||
|             let b = g:bufferline_status_info.before
 | ||
|             let c = g:bufferline_status_info.current
 | ||
|             let a = g:bufferline_status_info.after
 | ||
|             let alen = strlen(a)
 | ||
|             let blen = strlen(b)
 | ||
|             let clen = strlen(c)
 | ||
|             let w = winwidth(0) * 4 / 11
 | ||
|             if w < alen+blen+clen
 | ||
|                 let whalf = (w - strlen(c)) / 2
 | ||
|                 let aa = alen > whalf && blen > whalf ? a[:whalf] : alen + blen < w - clen || alen < whalf ? a : a[:(w - clen - blen)]
 | ||
|                 let bb = alen > whalf && blen > whalf ? b[-(whalf):] : alen + blen < w - clen || blen < whalf ? b : b[-(w - clen - alen):]
 | ||
|                 return (strlen(bb) < strlen(b) ? '...' : '') . bb . c . aa . (strlen(aa) < strlen(a) ? '...' : '')
 | ||
|             else
 | ||
|                 return b . c . a
 | ||
|             endif
 | ||
|         endfunction
 | ||
| 
 | ||
|         function! MyFileformat()
 | ||
|             return winwidth('.') > 90 ? &fileformat : ''
 | ||
|         endfunction
 | ||
| 
 | ||
|         function! MyFileencoding()
 | ||
|             return winwidth('.') > 80 ? (strlen(&fenc) ? &fenc : &enc) : ''
 | ||
|         endfunction
 | ||
| 
 | ||
|         function! MyFiletype()
 | ||
|             return winwidth('.') > 70 ? (strlen(&filetype) ? &filetype : 'no ft') : ''
 | ||
|         endfunction
 | ||
| 
 | ||
|         let g:ctrlp_status_func = {
 | ||
|             \ 'main': 'CtrlPStatusFunc_1',
 | ||
|             \ 'prog': 'CtrlPStatusFunc_2',
 | ||
|             \ }
 | ||
| 
 | ||
|         function! CtrlPStatusFunc_1(focus, byfname, regex, prev, item, next, marked)
 | ||
|             let g:lightline.ctrlp_regex = a:regex
 | ||
|             let g:lightline.ctrlp_prev = a:prev
 | ||
|             let g:lightline.ctrlp_item = a:item
 | ||
|             let g:lightline.ctrlp_next = a:next
 | ||
|             return lightline#statusline(0)
 | ||
|         endfunction
 | ||
| 
 | ||
|         function! CtrlPStatusFunc_2(str)
 | ||
|             return lightline#statusline(0)
 | ||
|         endfunction
 | ||
| 
 | ||
|         let g:tagbar_status_func = 'TagbarStatusFunc'
 | ||
| 
 | ||
|         function! TagbarStatusFunc(current, sort, fname, ...) abort
 | ||
|             let g:lightline.fname = a:fname
 | ||
|             return lightline#statusline(0)
 | ||
|         endfunction
 | ||
| 
 | ||
|         function! s:syntastic()
 | ||
|             SyntasticCheck
 | ||
|             call lightline#update()
 | ||
|         endfunction
 | ||
| 
 | ||
|         augroup AutoSyntastic
 | ||
|             autocmd!
 | ||
|             execute "autocmd FileType " .
 | ||
|                         \join(g:syntastic_mode_map["active_filetypes"], ",") .
 | ||
|                         \" autocmd BufWritePost <buffer> :call s:syntastic()"
 | ||
|         augroup END
 | ||
|     """ }}}
 | ||
| """"""""""""""""""""""""""""""""""""""""""""""""
 | ||
| " 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
 | ||
| "Plugin 'jacquesbh/vim-showmarks'
 | ||
| " Show fucking marks
 | ||
| noremap ' :ShowMarksOnce<cr> '
 | ||
| 
 | ||
| "##########################
 | ||
| " CTRL P :
 | ||
| "##########################
 | ||
| " https://github.com/kien/ctrlp.vim
 | ||
| "Plugin 'kien/ctrlp.vim'
 | ||
| 
 | ||
| "##########################
 | ||
| " undo-tree :
 | ||
| "##########################
 | ||
| " https://github.com/mbbill/undotree
 | ||
| "Plugin '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
 | ||
| "Plugin '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
 | ||
| "Plugin '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
 | ||
| "Plugin 'tpope/vim-fugitive'
 | ||
| 
 | ||
| "##########################
 | ||
| " openssl:
 | ||
| "##########################
 | ||
| " https://github.com/
 | ||
| "Plugin '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()
 | ||
| 
 | ||
| 
 | ||
| "################################
 | ||
| " Whitespaces and extra character
 | ||
| "################################
 | ||
| " Display '⏎' to mark an end of line
 | ||
| " Display '\' to mark extra white space at the end of a line
 | ||
| " Display '⎵' to mark nbsp (fixed spaces,…)
 | ||
| set list
 | ||
| set listchars=eol:⏎,nbsp:⎵,trail:\
 | ||
| " Afficher les espaces superflus en gris clair
 | ||
| highlight ExtraWhitespace ctermbg=darkgray guibg=lightred
 | ||
| match ExtraWhitespace /\s\+$/
 | ||
| 
 | ||
| " 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>
 | ||
| vmap <leader>sw :<C-U>!dig +short txt "<cword>.wp.dg.cx" <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
 | ||
| vmap <leader>o :<C-U>!w3m "<cfile>" <CR>
 | ||
| " « v<leader>o » lance Wordreference en -> fr
 | ||
| vmap <leader>te :<C-U>!w3m "http://www.wordreference.com/enfr/<cword>" <CR>
 | ||
| " « v<leader>o » lance Wordreference fr -> en
 | ||
| vmap <leader>tf :<C-U>!w3m "http://www.wordreference.com/fren/<cword>" <CR>
 | ||
| 
 | ||
| 
 |