====== vim ====== Utilisation de Vundle pour installer et mettre à jour les plugins. Installer des plugins (ESC + :) : :PluginInstall Mettre à jour des plugins (ESC + :) : :PluginUpdate ===== Plugins : ===== * [[https://vimawesome.com/plugin/nerdtree|nerdtree]] : affichage de l’arborescence directement dans une fenêtre sur vim * [[https://vimawesome.com/plugin/youcompleteme|YouCompleteMe]] : autocomplétion, nécessite une compilation de l’utilisateur * [[https://vimawesome.com/plugin/syntastic|syntastic]] : vérifie les erreurs de syntaxe * [[https://vimawesome.com/plugin/vim-polyglot|vim-polyglot]] : colorisation syntaxique multi-langages * [[https://vimawesome.com/plugin/vim-fugitive|vim-fugitive]] : ajoute des options d’interaction avec Git * [[https://vimawesome.com/plugin/nerdtree-git-plugin|nerdtree-git-plugin]] : ajouter des icônes et couleurs dans NERDTree en fonction de l’état des fichiers versionnés avec Git * [[https://vimawesome.com/plugin/vim-symfony|vim-symfony]] : colorisation syntaxique spécifique pour Symfony * [[https://vimawesome.com/plugin/vim-twig|vim-twig]] : colorisation syntaxique spécifique pour Twig (moteur de template de Symfony) * [[https://vimawesome.com/plugin/vim-rails|vim-rails]] : colorisation syntaxique spécifique pour Ruby-On-Rails * [[https://vimawesome.com/plugin/vim-closetag|vim-closetag]] : fermeture automatique des tags HTML (parce que c’est relou de taper deux fois la balise et que parfois j’oublie d’en fermer une…) * [[https://vimawesome.com/plugin/markdown-syntax|vim-markdown]] : support pour MarkDown (version de plasticboy) * [[https://vimawesome.com/plugin/tabular|tabular]] : alignement du code sans devoir le faire à la main (c’est parfois long !) * [[https://vimawesome.com/plugin/lightline.vim|lightline.vim]] : un affichage plus beau visuellement pour la barre de statut de vim * [[https://vimawesome.com/plugin/vim-css-color|vim-css-color]] : ajoute en surbrillance la couleur CSS saisie dans la feuille de style ===== Colorscheme : ===== * [[https://vimawesome.com/plugin/ayu-vim|ayu-vim]] : à tester * [[https://vimawesome.com/plugin/falcon|falcon]] : à retester, je ne sais plus pourquoi j’avais rapidement opté pour molokai ? * [[https://vimawesome.com/plugin/molokai|molokai]] : j’aime bien mais quelques défauts, notamment pour la position du curseur au niveau des balises HTML * [[https://vimawesome.com/plugin/onedark|onedark]] : celui que j’utilise en ce moment ===== Configuration vimrc ===== set nocompatible " be iMproved, required filetype off " required " set the runtime path to include Vundle and initialize set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() " let Vundle manage Vundle, required Plugin 'VundleVim/Vundle.vim' " The following are examples of different formats supported. " Keep Plugin commands between vundle#begin/end. Plugin 'scrooloose/nerdtree' Plugin 'ycm-core/YouCompleteMe' " autocompletion Plugin 'vim-syntastic/syntastic' " syntax Plugin 'sheerun/vim-polyglot' " syntax multi-langages " Support pour git Plugin 'Xuyuanp/nerdtree-git-plugin' " ajouter des icônes et couleurs dans NERDTree Plugin 'tpope/vim-fugitive' " Config pour symfony et twig Plugin 'qbbr/vim-symfony' Plugin 'Eluminae/vim-twig' " Config pour Rails Plugin 'tpope/vim-rails' " Fermer des tags ouverts Plugin 'alvan/vim-closetag' " Support markdown Plugin 'plasticboy/vim-markdown' Plugin 'godlygeek/tabular' " interface Plugin 'itchyny/lightline.vim' Plugin 'ap/vim-css-color' " colorschemes Plugin 'ayu-theme/ayu-vim' Plugin 'fenetikm/falcon' Plugin 'tomasr/molokai' Plugin 'joshdick/onedark.vim' " All of your Plugins must be added before the following line call vundle#end() " required filetype plugin indent on " required " General set number set linebreak set showbreak=+++ set showmatch set visualbell set hlsearch set smartcase set ignorecase set incsearch " Advanced set ruler " Show special chars set list set listchars=tab:+-,nbsp:· set undolevels=1000 set backspace=indent,eol,start " ouvrir Nerdtree par défaut autocmd vimenter * NERDTree " fermer vim si nerdtree est le dernier panneau ouvert autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif " folding auto basé sur la syntaxe et manuellement augroup vimrc au BufReadPre * setlocal foldmethod=indent au BufWinEnter * if &fdm == 'indent' | setlocal foldmethod=manual | endif augroup END " forcer la syntaxe ruby pour un document *.prawn au BufReadPost *.prawn set filetype=ruby " charger le thème onedark pour la barre de statuts gérée par lightline let g:lightline = { \ 'colorscheme': 'onedark', \ } "Use 24-bit (true-color) mode in Vim/Neovim when outside tmux. "If you're using tmux version 2.2 or later, you can remove the outermost $TMUX check and use tmux's 24-bit color support "(see < http://sunaku.github.io/tmux-24bit-color.html#usage > for more information.) if (empty($TMUX)) if (has("nvim")) "For Neovim 0.1.3 and 0.1.4 < https://github.com/neovim/neovim/pull/2198 > let $NVIM_TUI_ENABLE_TRUE_COLOR=1 endif "For Neovim > 0.1.5 and Vim > patch 7.4.1799 < https://github.com/vim/vim/commit/61be73bb0f965a895bfb064ea3e55476ac175162 > "Based on Vim patch 7.4.1770 (`guicolors` option) < https://github.com/vim/vim/commit/8a633e3427b47286869aa4b96f2bfc1fe65b25cd > " < https://github.com/neovim/neovim/wiki/Following-HEAD#20160511 > if (has("termguicolors")) set termguicolors endif endif syntax on colorscheme onedark