Vim

De Ensiwiki.

Aller à : Navigation, rechercher
Image:Vimlogo.png

Dernière version 7.2

Environnement Windows, Linux, MacOSX

Type Editeur de code
Licence Charityware

Site Web vim

  Windows    Linux    MacOS X 

Sommaire

  • 1 Description
  • 2 Pourquoi VIM ?
  • 3 VIM sucks ! Eclipse powwwa !
  • 4 Un Vim facile ?
  • 5 .vimrc pour commencer
  • 6 Les plugins essentiels
  • 7 Devenir productif
  • 8 Vim dans les projets de l'Ensimag
  • 9 Plugins par langage
  • 10 Le saviez-vous ?

Description

Vim est un éditeur de code. Son intérêt principal provient de son mode "commande", qui permet d'effectuer des opérations complexes en un minimum de temps. Il s'agit également d'un des rares éditeurs de code - avec Emacs - capable de proposer une édition intelligente (coloration, indentation, complétion, ...) de la quasi-totalité des langages de programmation utilisés à l'heure actuelle.


Pourquoi VIM ?

Vim nécessite un temps d'apprentissage important et un "minimum" de configuration avant d'être utilisable. Il est légitime de se demander pourquoi réapprendre à utiliser un éditeur de code (taper ":w" pour sauvegarder alors qu'on est habitué au CTRL+S peut sembler une perte de temps, à priori).

La réponse est simple : gagner en efficacité. Il est certains que dans vos premières semaines d'utilisation de Vim, vous aurez l'impression de mouliner et de perdre du temps à switcher en permanence entre mode commande et édition, mais une fois la dizaine de commande de base connues, à vous le pissage de code productif ! (Des exemple de la puissance de le VIM sont disponibles dans la suite...)


De plus : il est tout à fait possible d'utiliser les commandes "normales" (CTRL+S, CTRL+C/CTRL+V, ...) dans VIM. Ca n'est bien sûr pas recommandé, mais c'est bien pratique dans les premières semaines (mois ?) d'utilisation. Un fichier de configuration .vimrc "n00b-proof" est disponible dans la suite : utilisez le dans vos premières semaines en tentant de basculer de plus en plus vers les commandes de base de VIM...


Vim est également l'un des rares éditeurs à fonctionner aussi bien dans un shell (comme nano) que dans une interface graphique avancée (via gvim), ce qui le rend utilisable dans toutes les situations.

Autres avantages de VIM, en vrac : léger, souris fonctionnelle lors d'une édition en ligne de commande (contrairement à nano ou la plupart des éditeurs fonctionnant dans un shell), utilisable au sein de la plupart des grands IDE (eclipse, VS, ...), disponible partout (même quand on pirate un TX en root, c'est dire !), édition de fichier à distance en ssh, ...


VIM sucks ! Eclipse powwwa !

Je vois d'ici les fans d'Eclipse bondir et me reprocher de faire la pub d'un éditeur antique, sans fonctions de refactoring avancé, sans compilation inline, etc. Effectivement, en tant qu'IDE pour des langages modernes (Java, C#, ...), Vim c'est moyen. Mais, car il y a un mais : la puissance de VIM ne vient pas du logiciel en lui même, mais de ses "key bindings" et de son mode commande ! Et il est évidemment possible d'utiliser ce mode commande dans Eclipse et dans Visual Studio, avec les plugins adaptés ! Et là c'est le must : non seulement vous êtes dans un environnement de travail moderne, mais en plus vous utilisez le rapid-tapage productif de Vim. Apprendre les quelques commandes de VIM n'est donc pas perdu ! ([Troll] Contrairement à Emacs. [/Troll])

Plugins pour Eclipse :

  • viPlugin : ajoute quelques fonctionnalités du mode commande de Vim dans Eclipse. Très incomplet (pas de folding (za), ...) et cher (15€). A éviter.
  • Eclim : Eclim effectue le travail inverse de viPlugin : il apporte les fonctionnalités d'Eclipse à Vim ! Autrement dit, vous avez toutes les fonctionnalités de Vim + l'intellisense Java + refactoring avancé + ... Le site contient la liste détaillée des features et quelques screenshots.

Plugins pour Visual Studio :

  • ViEmu : ajoute la plupart des raccourcis Vim à Visual Studio. Le plugin a été pensé pour être le plus fidèle possible à Vim. C'est globalement le cas, malgré quelques key-bindings manquants (CTRL+A sélectionne tout le code au lieu d'incrémenter le nombre suivant dans le document, CTRL+P imprime au lieu de faire de la complétion, le fonctionnement de l'undo est légèrement différent de celui de Vim... Bref, quelques détails.) Si vous êtes honnête, le plugin est cher par contre (99$).

Plugins pour Netbeans :

  • jVi : très complet, très bien intégré et très configurable. Rien à redire.

Un Vim facile ?

Le mode commande de Vim peut être déroutant au début. Si vous voulez un éditeur similaire à gedit / nedit mais avec des fonctions avancées, utilisez la commande "evim". Evim, ou Easy Vim, c'est simplement Vim sans son mode commande. Vous bénéficiez donc de l'indentation automatique, de la coloration, de la complétion (CTRL+P), dans un éditeur qui est aussi facile d'utilisation qu'un bloc note (CTRL+S pour sauvegarder, etc.). Vous pouvez également utiliser le menu de l'éditeur pour accéder aux fonctions avancées de vim (enregistrement de macro, etc.) Une fois habitué à evim, tentez de passer à vim avec le vimrc pour débutant, vous gagnerez en productivité.


.vimrc pour commencer

Fichier de configuration de vim (.vimrc) permettant d'utiliser tous les raccourcis classiques du monde Windows (CTRL+S, CTRL+C, ...) et modifiant le comportement de certaines touches (BackSpace, ...).

Aide détaillée : Vimrc for beginners.


Ceci dit, avec un .vimrc de ce type, vous vous retrouverez tout de même devant un éditeur tout moche, sans coloration syntaxique, sans indentation automatique, ... bref : sans rien. Qu'à cela ne tienne : voici un .vimrc minimal pour rendre Vim utilisable :

Aide détaillée : Vimrc minimal.


Les plugins essentiels

Avec la section précédente, vous commencez à avoir un éditeur pas trop mal : il colore bien, il indente bien, ... Ceci dit, il reste encore un peu obscur. Petite sélection de plugins essentiels, valable pour tous les languages, pour rendre Vim définitivement meilleur qu'un nedit ou un Notepad++ :

  • minibufexpl : vim possède une navigation par onglet, mais il ne l'utilise pas par défaut. Par défaut tous les fichiers ouverts sont chargés dans des "buffers" (l'équivalent d'un onglet caché, avec partage des registres : par exemple si vous enregistrez une macro, elle sera utilisable par tous les fichiers ouverts dans les buffers). Le problème c'est que ces buffers n'apparaissent pas à l'écran, il est donc difficile de se retrouver dans les fichiers ouverts. Ce plugin ajoute une barre d'onglet supplémentaire permettant de parcourir tous les buffers : Image:VIM01.PNG


Devenir productif

Maintenant vous avez un environnement de travail sympathique. A tout casser, ça vous a pris 15 minutes et vous avez un environnement qui correspond à vos premiers désirs. Maintenant il est temps de devenir efficace, ou du moins de comprendre comment taper un mot, autrement dit : apprendre les key-bindings de Vim. C'est souvent la partie qui donne sa mauvaise réputation à Vim et pourtant il n'y a en réalité que 4 ou 5 touches essentielles à apprendre. C'est en combinant ces touches que vous effectuerez des actions complexes.

Aide détaillée : Vim Key-bindings.


Vim dans les projets de l'Ensimag

Si l'utilisation de nedit, gedit ou tout autre "text-editor" peut vous suffire pour les TP simples, leur utilisation est plus difficile à justifier pour les "gros" projets (projet C en 1A, projet spé en 2A, ...). Vim vous aide à structurer votre code et à retrouver les fonctions que vous aviez perdues / que les profs n'ont pas documentées, comme un vrai IDE.

Mais... Flemme de modifier vos .vimrc à la main ? Flemme de configurer VIM pour qu'il ponde la moitié du code ADA de votre compilateur à votre place ? Qu'à cela ne tienne, nous l'avons fait pour vous. Pour chaque projet vous aurez la liste de tout ce que Vim peut faire pour vous (intellisense - complétion intelligente -, indexation de toutes les fonctions obscures que les profs ont cachées dans des dossiers communs et bien plus encore !) et les fichiers et plugins à installer pour gagner en productivité.


  • 1A :
Aide détaillée : TP d'ADA avec VIM.
Aide détaillée : Projet C avec VIM.
Aide détaillée : TP d'assembleur avec VIM.
  • 2A : (Certaines de ces aides nécessitent d'avoir Vim 7.0 ou plus récent installé, recompilez le au besoin...)
Aide détaillée : TP de C++ avec VIM.
Aide détaillée : Vim pour le projet GL.
Aide détaillée : TP de BD avec VIM.
Aide détaillée : Projet de Spé avec VIM.

Plugins par langage

Ces plugins sont disponibles sur le site de vim, dans la section scripts.

Aide détaillée : C++ avec Vim.
Aide détaillée : HTML avec Vim.


Le saviez-vous ?

  • Vim est l'éditeur recommandé par GNAT : c'est l'éditeur qu'ils livrent par défaut avec leur developpers tools.
Récupérée de « http://ensiwiki.ensimag.fr/index.php/Vim »
Catégories : Logiciel | Windows | Linux | MacOSX | Développement | Vim
Affichages
  • Page
  • Discussion
  • Voir le texte source
  • Historique
Outils personnels
  •  
  • Connexion
Actualité
  • Soutenances de PFE
  • Projet système
  • Projets spécialité
  • Lexique franco-anglais
  • Stage Unix de rentrée
  • Projet C
  • Plannings des stages
Navigation
Logo Ensimag
  • Accueil
  • FAQ
  • Mode d'emploi
  • Droit d'auteur
  • Modifications récentes
  • Page au hasard
Boîte à outils
  • Pages liées
  • Suivi des pages liées
  • Pages spéciales
  • Version imprimable
  • Lien historique
  • Principaux contributeurs
Powered by MediaWiki
Attribution-Share Alike 3.0 Unported
  • Dernière modification de cette page le 20 mai 2009 à 15:25.
  • Cette page a été consultée 3 665 fois.
  • Contenu disponible sous Attribution-Share Alike 3.0 Unported.
  • Politique de confidentialité
  • À propos de Ensiwiki
  • Avertissements