URL: https://linuxfr.org/users/fpolux/journaux/pourquoi-vim-premiere-partie Title: Pourquoi Vim? (Première partie) Authors: Pol' uX Date: 2017年11月23日T22:13:01+01:00 License: CC By-SA Tags: plagiat, troll, vim et vi Score: 53 Vim est, de loin, mon éditeur de code préféré. Dans cet article je vais passer en revue ce qui me plais dans ce logiciel, ou ce qui pourrait plaire à un informaticien. Ces écrits sont un peut long, aussi ils seront séparés en plusieurs parties. Cette partie couvrira les bases, l'édition de texte et l'usage du clavier. Attention, il ne s'agit pas d'un cours sur Vim, le but de cet article est d'en parcourir les atouts. Quelques liens utiles: - [Site web officiel de Vim](http://www.vim.org) - [Page de téléchargement](https://vim.sourceforge.io/download.php) - [Site web TupperVim](http://tuppervim.org/) - [Wiki communautaire sur Vim](http://vim.wikia.com/wiki/Vim_Tips_Wiki) Libre et multiplateforme ------------------------ Un des premiers points intéressant avec Vim, c'est qu'il est libre. Sous licence [compatible](https://www.gnu.org/licenses/license-list.html#Vim) [GPLv3](https://www.gnu.org/licenses/gpl-3.0-standalone.html). De plus, il est disponible sur [GNU/Linux](https://vim.sourceforge.io/download.php#unix), [MacOS](https://vim.sourceforge.io/download.php#mac), [Windows](https://vim.sourceforge.io/download.php#pc), Android via [Termux](https://termux.com/), FreeBSD, NetBSD, OpenBSD et Solaris. Il peut autant fonctionner au travers d'un terminal qu'avec sa propre interface graphique. La version graphique à l'avantage de permettre l'affichage d'images, l'usage de la souris et fournit un menu ainsi qu'une barre d'outils. Léger et modulaire ------------------ Initialement conçu pour traiter du texte depuis un terminal, Vim est très léger et peu consommateur de ressources. Il tourne tout aussi bien sur des machines modernes qui sur de vieux modèles. Vim est avant-tout un éditeur de texte et de code source. Mais il propose également des fonctionnalités optionnelles qu'on retrouve dans un IDE comme la gestion de projet, générer du code, trouver la déclaration d'une fonction, etc. 100% clavier ------------ On peut utiliser la souris avec Vim dans sa version graphique (ou pas), mais ce n'est absolument pas obligatoire. On peut utiliser 100% du logiciel sans lever les mains de son clavier. Un grand nombre d'action sont disponibles par un simple raccourcis clavier. Par exemple, les touches dédiées du clavier, comme `Home`, `End`, les touches fléchées, etc. ont leur équivalents en raccourci comme `^`, `$`, `j-k-l-m`, etc. En plus des fonctions de manipulation de texte, Vim en fournit de spécifiques en fonction du contexte. Par exemple, si vous éditez du code en Python, Vim vous propose de démarrer un interpréteur Python et d'y envoyer le code que vous êtes en train d'écrire. Autre exemple: si vous écrivez un e-mail, Vim vous propose des fonctions pour ajouter des champs à celui-ci ou des pièces jointes. Certaines fonctions peuvent être appelées avec un raccourcis clavier, mais toutes sont exécutables en tapant `: + _nom_de_la_fonction_`. Tutoriel inclus --------------- Vim inclut un tutoriel dans plusieurs langues. Ce tutoriel est accessible dès le buffer d’accueil. Il vous expliquera les raccourcis clavier pour manipuler le texte, la structure de Vim, son système de modes et de fenêtres, etc. Manipulation du texte --------------------- Vim fournit les possibilités classiques de manipulation de texte, accompagnées de quelques plus: - Déplacement du curseur de texte d'un caractère, d'un mot, d'une ligne, d'une phrase, d'un paragraphe ou d'un écran, au début ou à la fin du fichier, à une ligne précisée par son numéro - Suppression d'un caractère, d'un mot, de la fin de la ligne ou de la phrase. - Inversion de deux lettres, deux mots ou deux lignes. En cas d'inversion de deux mots séparés par une ponctuation, celle-ci sera prise en compte. - Passer un mot en majuscule, minuscule ou le capitaliser. - Indenter automatiquement le code. - Commenter/décommenter une région. Pour sélectionner du texte, il n'y a pas besoin de maintenir la touche `Shift` enfoncée. Il suffit de placer le curseur de texte au début de la zone à sélectionner, de taper `v` et la sélection est enclenchée. Pas besoin de maintenir la moindre touche. On peut ensuite bouger le curseur pour agrandir la zone sélectionnée, appelée `Sélection` dans Vim. On peut faire sauter le curseur au début ou à la fin de la `Sélection` avec ``g`<`` et ``g`>``. On peut utiliser une sélection pour limiter l'action d'une fonction de Vim, comme par exemple "rechercher et remplacer" ou "commenter le code". On peut également exécuter une commande dans un shell (bash ou autre) en lui passent le texte sélectionné avec une région. Le texte ainsi sélectionné peut, si on le souhaite, être remplacé par le résultat de la commande. Enfin, si Vim permet une sélection classique, c'est à dire tous les caractères entre le début et la fin d'une région, il propose également d'utiliser les marqueurs de région pour "dessiner" un rectangle et ensuite de ne manipuler que les caractères se trouvant dans ce rectangle. Exemple: ![Démonstration de la sélection par rectangle](http://www.anattatechnologies.com/q/wp-content/uploads/2014/04/vim1.png) Quote-numbers ------------- Le presse-papier de Vim à une particularité: Si on s'y prend bien, quand on y place du texte, ce qui y était précédemment n'est pas perdu. On peut toujours le récupérer. Ainsi, quand on colle le contenu du registre, c'est le dernier élément à y avoir été inséré qui apparait. À la place, on aurait pu remplacer dans le texte ce résultat par ce qui avait été précédemment déposé dans le registre. Par exemple, si j'ai le texte "À deux mains" dans le registre et que je place dans un autre registre le texte "dimanche valent mieux qu'une". Au moment de coller le contenu du registre, j'obtiens "dimanche valent mieux qu'une". Avec un simple préfixe, j'aurais pu à la place coller dans mon texte "À deux mains". Et je peux ainsi contrôler l’historique du presse-papier. Dans cette historique, le préfixe employé est l'index du registre. D'où le nom "Quote-numbers". Marks ----- Vim permet de placer des marqueurs où on le souhaite dans le texte que l'on manipule. On peut ensuite faire sauter le curseur de texte d'un marqueur à l'autre. Très pratique quand on souhaite revenir plus tard sur un bout de code. Macro ----- Vim propose d'enregistrer ce que l'on tape au clavier en tant que macro. Il est possible ensuite de répéter ce qui a été enregistré autant de fois que l'on le souhaite. On peut même préciser combien de fois le répéter. Lors de l'enregistrement d'une macro, un compteur peut être inséré dans le texte. On peut aussi donner un nom à cette macro pour l'appeler comme une fonction interactive et la sauvegarder pour qu'elle survive à la session. Il est aussi possible d'éditer une macro après enregistrement. Fermeture manuelle et mise en évidence des délimiteurs ------------------------------------------------------ Vim peut manuellement fermer des parenthèses ou des guillemets. Par exemple, si je tape `"`, Vim écrira automatiquement la `"` fermante lorsque je taperai sur `"`. Si je sélectionne une région et que je tape un guillemet ou une parenthèse, Vim fera des choses ce qu'il veut. Et si je place le curseur de clavier à coté d'une parenthèse (ou d'un guillemet), alors sa parenthèse (ou guillemet) correspondante sera mise en évidence. Ces 3 fonctionnalités sont heureusement activées par défaut. Conclusion de la première partie -------------------------------- Cette partie est loin de couvrir toutes les possibilités de Vim en matière d'édition de texte. C'est un logiciel très puissant dans ce domaine (et d'autres). Le seul logiciel à arriver à un tel niveau pour l'édition du texte est Emacs. Et encore, je ne suis pas sur que tout ce que permette Vim soit possible avec Emacs.

AltStyle によって変換されたページ (->オリジナル) /