" -------------------------------------------------------------------------------------------------- " | 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= " é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 w :w! nmap q :wq " Édition rapide de vimrc map e :e! ~/.vimrc " Recharge le vimrc map < :source ~/.vimrc " Navigation dans les buffers " Détails sur les buffers: http://vim-fr.org/index.php/Buffer map t :bp map s :bn "Navigation splits map j j map h h map k k map l 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 map map map " Mode insertion imap imap imap imap """""""""""""""""""""""""""""""""""""""""""""""" " Mapping : """""""""""""""""""""""""""""""""""""""""""""""" "Désactive le surlignage des résultats d'une recherche en utilisant CTRL-n nnoremap :noh "Ajoute une ligne avant le curseur sans passer en mode insertion nnoremap o "Ajoute une ligne après le curseur sans passer en mode insertion map O "Permet la compilation d'un document latex grace a F6 inoremap i :w:!pdflatex %i "Raccourcis pour un make plus rapide inoremap m :w:make "avance d'un caratere en mode insert (vim-autoclose) inoremap n l i " Remap de echap sur jj inoremap jj " Se déplacer dans les onglets map 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 z :NERDTreeToggle " Mapping pour l'activer/désactiver let NERDTreeWinPos='right' " Positionné à droite " UndoTree map q :UndotreeToggle " 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 (neosnippet_expand_or_jump) " SuperTab like snippets behavior. imap neosnippet#expandable_or_jumpable() ? \ "\(neosnippet_expand_or_jump)" \: pumvisible() ? "\" : "\" smap neosnippet#expandable_or_jumpable() ? \ "\(neosnippet_expand_or_jump)" \: "\" " 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 '