post

Vim fr:Introduction

Qu’est-ce que Vim?

Vim est un logiciel utilisé pour écrire tout type de texte, que ce soit votre liste de courses, un livre ou du code informatique.
Ce qui rend Vim spécial est qu’il s’agit de l’un de ces trop rares logiciels qui est à la fois simple et puissant.

Simple signifie qu’il est facile de débuter. Simple signifie qu’il a une interface minimaliste qui vous aide à vous concentrer sur votre tâche principale – écrire. Simple signifie qu’il est bâti autour de quelques concepts clés qui vous aident à apprendre les fonctionalités avancées facilement.

Puissant signifie faire les choses plus rapidement, mieux et plus facilement. Puissant signifie rendre les choses pas très simples possibles. Puissant ne signifie pas compliqué pour autant. Puissant signifie suivre le modèle de “Un effort minimal pour un effet maximal”.

Que peut faire Vim?

Je vous entends dire: “Alors, oui, c’est un éditeur de texte. Qu’est-ce que ça peut bien changer à ma vie?”

Eh bien, beaucoup de choses.

Voyons tout d’abord quelques exemples choisis au hasard pour comparer Vim avec votre éditeur actuel. Le but de cet exercice est que vous puissiez répondre à la question “Comment ferais-je cette tâche dans l’éditeur que j’utilise actuellement?” pour chacun des exemples.

Note
Ne vous en faites pas trop avec le détail des commandes Vim pour le moment, l’objectif ici est de vous présenter les possibilités offertes et pas de les expliquer. Le reste du livre se chargera de cela.

Éditer

Dans Vim

Comment déplacer le curseur vers le bas de 7 lignes?

Taper 7j

Comment effacer un mot? Oui, un “mot”.

Taper dw

Comment rechercher dans le fichier le mot sur lequel le curseur est actuellement placé?

Taper *

Comment trouver et remplacer seulement sur les lignes 50 à 100?

Lancer :50,100s/ancien/nouveau/g

Et si vous vouliez voir deux parties du même fichier simultanément?

Taper :sp pour ‘séparer’ la vue

Et si vous vouliez ouvrir un fichier dont le nom est dans le document courant et que le curseur est placé sur ce nom?

Taper gf (qui signifie “go to this file”)

Et si vous vouliez choisir un meilleur ensemble de couleurs pour l’affichage?

Lancer :colorscheme desert pour sélectionner l’ensemble de couleurs ‘desert’ (mon préféré)

Et si vous vouliez lier le raccourci clavier ctrl-s pour sauvegarder le fichier?

Lancer :nmap <c-s>:w<CR>. Notez que <CR> signifie carriage return, soit retour de chariot (i.e. la touche Entrée).

Et si vous vouliez sauvegarder la liste de l’ensemble des fichiers ouverts ainsi que toutes les modifications, pour que vous puissiez continuer à les éditer plus tard?

Lancer :mksession ~/derniere_session.vim, et ouvrez Vim la prochaine fois de cette façon vim -S ~/derniere_session.vim.

Et si vous vouliez voir différentes parties de votre code se colorer?

Lancer :syntax on. S’il ne reconnaît pas le langage correctement, utiliser :set filetype=Wikipedia, par exemple.

Et si vous vouliez rabattre certaines parties de votre fichier pour pouvoir vous concentrer sur une seule à la fois?

Lancer :set foldmethod=indent en assumant que votre fichier est correctement indenté. Il y a d’autres façons possibles de rabattre.

Et si vous vouliez ouvrir plusieurs fichiers dans des onglets?

Utiliser :tabedit <file> pour ouvrir plusieurs fichiers dans des “onglets” (semblable aux onglets d’un navigateur), et utiliser ctrl-pgup/ctrl-pgdn pour passer d’un onglet à l’autre.

Vous utilisez certains mots fréquemment dans votre document et vous souhaiteriez qu’il y ait une façon pour qu’ils se remplissent rapidement la prochaine fois que vous utiliserez ce mot?

Appuyer sur ctrl-n et voir la liste de “complétions” pour le mot courant, basé sur tous les mots que vous avez utilisés dans le document courant.
Autrement, utiliser :ab hié Hiérarchie des besoin de Maslow pour agrandir les abréviations automatiquement lorsque vous tapez h i é <espace>.

Vous avez des données où seuls les 10 premiers caractères de chaque ligne vous sont utiles et le reste ne vous est d’aucune utilité. Comment obtenir seulement ces données.

Taper ctrl-v, sélectionner le texte et taper y pour copier les colonnes et les rangées de texte sélectionnées.

Et si vous recevez un document de quelqu’un qui soit entièrement en majuscules, que vous trouviez cela irritant et que vous vouliez les convertir en minuscules?

Dans Vim, lancer ceci:

:for i in range(0, line('$'))
:    call setline(i, tolower(getline(i)))
:endfor

Ne vous inquiétez pas, d’autres détails seront explorés dans les chapitres à venir. Une façon plus brève de faire cela serait d’utiliser :%s#\(.\)#\l\1#g mais il est plus simple de penser à la façon de faire ci-haut.

Il y a une façon encore plus simple de sélectionner tout le texte (1GVG) et d’utiliser l’opérateur u pour faire la conversion en minuscules mais encore une fois c’est bien trop simple et ce n’est pas aussi «cool» que d’impressionner parents et amis en faisant accomplir à Vim une série d’actions.

Ouf. Alors, êtes-vous convaincu?

Dans ces exemples, vous pouvez voir la puissance de Vim en action. Il serait incroyablement difficile d’atteindre le même niveau de fonctionnalité dans tout autre éditeur. Et pourtant, de façon surprenante, toute cette puissance est rendue aussi compréhensible que possible.

Notez que nous n’avons jamais utilisé la souris pour ces exemples! C’est une bonne chose. Comptez le nombre de fois que vous devez faire passer votre main du clavier à la souris dans une seule journée et vous comprendrez pourquoi il est bon de l’éviter lorsque faire se peut.

Ne vous sentez pas écrasé par toutes les fonctionnalités présentées. Le meilleur côté de Vim est que vous n’avez pas besoin de connaître toutes ses fonctionnalités pour être productif dans son utilisation, vous n’avez qu’à connaître quelques concepts de base. Après avoir appris ces concepts simples, toutes les autres caractéristiques pourront facilement être apprises lorsque vous en aurez besoin.


Advertisements