diff --git a/README.md b/README.md index 42a6bb0..2dfcbd9 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,101 @@ # vim-dev-web +Configuration du traitement de texte _VIM_ pour le développement _WEB_. -Configuration du traitement de texte _VIM_ pour le développement _WEB_. \ No newline at end of file +Toutes les étapes sont à réaliser avec l'utilisateur qui sera utilisé pour coder. +Vous pourrez trouver des astuces concernant ce logiciel dans la page qui lui est consacrée ici : https://doc.ycharbi.fr/index.php/Vim + +# Configuration de l'environnement +## Gestionnaire de greffons +_VIM_ est de base un outil aux fonctionnalités extensibles particulièrement adapté à l'édition de fichiers de configuration système. Il peut également s'avérer être un logiciel parfaitement adapté à la programmation pour peu qu'on lui ajoute quelques modules complémentaires. + +J'utilise plusieurs greffons installés via le gestionnaire _Vim-plug_. Depuis _VIM_ 8, la gestion de paquetages pour les greffons est intégrée de base. Je n'ai pas testé cette possibilité mais cela serai probablement préférable lorsque l'environnement sera bien rodé. + +Pour ajouter _Vim-plug_, il faut utiliser la commande suivante : +``` +curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim +``` + +## Configuration de _VIM_ +Copier le fichier de configuration comme ceci : +``` +cp vimrc ~.vimrc +``` + +Quitter et relancer _VIM_ pour appliquer la configuration. + +## Gestion des greffons +Le fichier de configuration fournis dans ce dépôt comporte une liste de modules à installer. Ceux-ci se présentent sous leur nom _GitHub_ (utilisateur/projet). Pour en ajouter, il suffit donc d'insérer une nouvelle linge avec l'_URI_ _GitHub_ du greffon. + +Dans _VIM_, taper ceci en mode normal pour installer les greffons contenus dans la liste : +``` +:PlugInstall +``` + +Pour en désinstaller un, il faut retirer sa ligne correspondante dans le `~/.vimrc` et exécuter la commande _VIM_ suivante : +``` +:PlugClean +``` + +Il est à noter qu'un greffons est constitué d'un ensemble de fichiers dans un répertoire qui lui est propre. La suppression de ce répertoire revient à désinstaller le greffon (cela ne pourris donc pas votre système avec des merdes dans tous les sens). + +# Ressources +## Commandes utiles +### Source d'initialisation de paramètres +Plusieurs éléments définissent des valeurs aux paramètres de _VIM_. Pour déterminer quel fichier à initialisé tel paramètre, la commande suivante peut être utilisée : +``` +:verbose set ? +``` + +Exemple pour le paramètre définissant l'ajout automatique de commentaires : +``` +:verbose set formatoptions? +``` + +### Lister les thèmes displonibles +Afin de lister les thèmes _Colorschceme_ disponibles, tapez la commande suivante : +``` +:colorscheme +``` + +Pour lister les thèmes _Airline_ : +``` +:AirlineTheme +``` + +Il est possible de définir manuellement les couleurs utilisées pour la syntaxe via : +``` +:highlight [Groupe] [clé=valeur] +``` + +Sources : +* https://phoenixnap.com/kb/vim-color-schemes +* https://www.sbf5.com/~cduan/technical/vi/vi-4.shtml#color + +Je n'ai pas exploré cette piste plus profondément. + +## Liens utiles +Voici une petite liste de liens comportant des informations intéressantes : +* Une flopée de paramètres se trouvent dans le fichier https://github.com/arkokoley/arcana-vim/blob/master/vimrc +* Il existe des distributions _VIM_, dont _Janus_, préconfigurée pour cet usage : https://github.com/carlhuda/janus +* Un _Wiki_ qui parle de _VIM_ : https://riptutorial.com/vim + +# Améliorations à venir +Comme expliqué, depuis sa version 8, _VIM_ permet l'utilisation de modules via un système de paquetages intégré de base. Je n'ai pas pris le temps d'explorer cette piste mais je pense que cela vaut le coup. + +Les modules suivant présentent un intérêt pour le développement mais n'ont pas fonctionné lorsque je les ais essayés : +* Correcteur syntaxique : vim-syntastic/syntastic +* Auto-complétion syntaxique : ycm-core/YouCompleteMe + +Pour _ycm-core/YouCompleteMe_, il faut installer `cmake` et se placer dans le répertoire du module pour lancer son script d'installation : +``` +cd ~/.vim/plugged/YouCompleteMe +/usr/bin/python3 install.py +``` + +Je ne suis pas allé plus loin dans le test. + +Autres modules à essayer : +* Curseurs multiples : paradigm/vim-multicursor +* Alignement automatique : junegunn/vim-easy-align + +Voir la fonction "Spell Check" pour vérifier l'orthographe. diff --git a/vimrc b/vimrc new file mode 100644 index 0000000..4af490c --- /dev/null +++ b/vimrc @@ -0,0 +1,67 @@ +" Affichage des numéros de lignes +set nu +" Activation de la coloration syntaxique +syntax on +" Insensibilité à la casse pour les recherches +set ic +" Soulignement horizontale de la position du curseur +set cursorline +" Ouvrir un fichier en mode séparé à droite +set splitright +" Ouvrir un fichier en mode séparé en bas +set splitbelow + +" Surlignement vertical de la ligne du curseur +"set cursorcolumn +"highlight CursorColumn ctermfg=250 ctermbg=235 cterm=bold + +" Ne stock pas les fichiers d'échange (.swp) dans le répertoire courant +" L'emplacement par défaut (/var/tmp/) est donc utilisé +set directory-=. + +" Désactiver l'ajout automatique des commentaires +filetype plugin on +au FileType * setlocal formatoptions-=cro + +" Masquer les commentaires d'un fichier +set fdm=expr +set fde=getline(v:lnum)=~'^\\s*#'?1:getline(prevnonblank(v:lnum))=~'^\\s*#'?1:getline(nextnonblank(v:lnum))=~'^\\s*#'?1:0 + +" Afficher des lignes verticales et horizontales à chaque tabulation +set list listchars=tab:\|\- + +" Taille des tabulations +set tabstop=3 +set shiftwidth=3 +set softtabstop=3 + +" Greffons +call plug#begin() + Plug 'junegunn/vim-easy-align' + Plug 'vim-airline/vim-airline' + Plug 'vim-airline/vim-airline-themes' + Plug 'vimcolorschemes/vimcolorschemes' + Plug 'scrooloose/nerdtree' + Plug 'mattn/emmet-vim' + Plug 'tpope/vim-fugitive' +call plug#end() + +" Appliquer un thème +colorscheme elflord + +" Volet de navigation de fichiers NERDTree +nnoremap n :NERDTreeFocus +nnoremap :NERDTree +nnoremap :NERDTreeToggle +nnoremap :NERDTreeFind + +" Vim en 256 couleurs +set t_Co=256 + +" Paramètres d'Airline +let g:airline_theme="fairyfloss" +let g:airline_powerline_fonts = 1 +let g:airline#extensions#tabline#enabled = 1 +let g:airline#extensions#tabline#buffer_nr_show = 1 +let g:airline#extensions#whitespace#enabled = 0 +let g:airline#extensions#whitespace#symbol = '!'