Pour préfixer un ensemble de lignes, j'utilise l'une des deux approches suivantes:
Une approche est la sélection de bloc (mentionnée par qc). En général, vous pouvez sélectionner une région rectangulaire avec ctrl-Vsuivi du déplacement du curseur. Une fois que vous avez mis en surbrillance un rectangle, appuyez sur shift-Ipour insérer des caractères sur le côté gauche du rectangle ou shift-Ales ajouter sur le côté droit du rectangle. Vous pouvez donc utiliser cette technique pour créer un rectangle qui inclut la colonne la plus à gauche des lignes que vous souhaitez préfixer, appuyez sur shift-I, tapez le préfixe, puis appuyez sur échapper.
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 consiste à frapper shift-V(qui active le mode ligne visuelle) sur la première / dernière ligne, puis à passer à la dernière / première ligne. Tapez ensuite:
:s/^/YOUR PREFIX/
Le ^ est une expression régulière (dans ce cas, le début de la ligne). En tapant ceci en mode ligne visuelle, vous verrez '<,'> inséré automatiquement avant le s. Cela signifie que la plage de substitution sera la sélection visuelle.
Conseil supplémentaire: si votre préfixe contient des barres obliques, vous pouvez soit les échapper avec une barre oblique inverse, soit utiliser un caractère de ponctuation différent comme séparateur dans la commande. Par exemple, pour ajouter des commentaires de ligne C ++, j'écris généralement:
:s:^:// :
Pour ajouter un suffixe, l'approche de substitution est généralement plus facile à moins que toutes vos lignes aient exactement la même longueur. Utilisez simplement $ pour le modèle au lieu de ^ et votre chaîne sera ajoutée au lieu de pré-suspendue.
Si vous souhaitez ajouter un préfixe et un suffixe simultanément, vous pouvez faire quelque chose comme ceci:
:s/.*/PREFIX & SUFFIX/
Le. * Correspond à toute la ligne. Le & dans le remplacement remet le texte correspondant (toute la ligne), mais maintenant il aura votre préfixe et 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, puis 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 comme ceci:
:s:// ::