Pour préfixer une série de lignes, j'utilise l'une des deux approches suivantes :
Une approche est le bloc select (mentionné par qqch). En général, vous pouvez sélectionner une région rectangulaire avec ctrl-V suivi du déplacement du curseur. Une fois que vous avez mis en évidence un rectangle, appuyez sur shift-I insérera des caractères sur le côté gauche du rectangle, ou bien shift-A les ajoutera sur le côté droit du rectangle. Ainsi, vous pouvez utiliser cette technique pour créer un rectangle qui inclut la colonne la plus à gauche des lignes que vous voulez préfixer, en appuyant sur shift-I tapez le préfixe, puis appuyez sur Echap.
L'autre approche consiste à utiliser une substitution (comme mentionné par Brian Agnew). La substitution de Brian affectera le fichier entier (le % dans la commande signifie "toutes les lignes"). Pour n'affecter que quelques lignes, l'approche la plus simple est de taper shift-V (ce qui permet d'activer le mode ligne visuelle) alors que vous êtes sur la première/dernière ligne, puis passez à la dernière/première ligne. Puis tapez :
:s/^/YOUR PREFIX/
Le ^ est une regex (dans ce cas, le début de la ligne). En tapant ceci en mode ligne visuelle, vous verrez que '<,'> est automatiquement inséré avant le 's'. Cela signifie que l'étendue de la substitution sera la sélection visuelle.
Conseil supplémentaire : si votre préfixe contient des slashs, vous pouvez soit les échapper avec des backslashs, soit utiliser un autre caractère de ponctuation comme séparateur dans la commande. Par exemple, pour ajouter des commentaires à la ligne C++, j'écris habituellement :
:s:^:// :
Pour l'ajout d'un suffixe, l'approche par substitution est généralement plus facile, sauf si toutes vos lignes sont exactement de la même longueur. Utilisez simplement $ pour le motif au lieu de ^ et votre chaîne sera ajoutée au lieu d'être pré-intégrée.
Si vous voulez ajouter un préfixe et un suffixe simultanément, vous pouvez faire quelque chose comme ceci :
:s/.*/PREFIX & SUFFIX/
Le .* correspond à la ligne entière. Le & dans le remplacement remet le texte correspondant (la ligne entière), mais avec votre préfixe et votre suffixe ajoutés.
BTW : lorsque vous commentez du code, vous voudrez probablement le décommenter plus tard. Vous pouvez utiliser visual-block ( ctrl-V ) pour sélectionner les barres obliques et ensuite appuyer sur d pour les supprimer, ou vous pouvez utiliser une substitution (probablement avec une sélection de ligne visuelle, faite avec shift-V ) pour supprimer les barres obliques de tête, comme ceci :
:s:// ::