====== 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