Dans Vim , comment insérer des caractères au début de chaque ligne d'une sélection?
Par exemple, je veux commenter un bloc de code en ajoutant //
au début de chaque ligne en supposant que le système de commentaires de ma langue ne permet pas de commenter les blocs comme /* */
. Comment pourrais-je faire ça?
Shift + v
pasCTRL + v
. @ vkaul11 Probablement la même chose que ce que vous avez fait lolCela remplace le début de chaque ligne par "//":
Cela remplace le début de chaque ligne sélectionnée (utilisez le mode visuel pour sélectionner) par "//":
Notez que
gv
(en mode normal) restaure la dernière sélection visuelle, cela est pratique de temps en temps.la source
/
et je devais échapper à l'//
:s/^/\/\/
:s!^!//
Le schéma général de recherche et de remplacement est le suivant:
Remplace la première occurrence de «recherche» par «remplacer» pour la ligne actuelle
Remplace toutes les occurrences de «recherche» par «remplacer» pour la ligne actuelle, «g» est l'abréviation de «global»
Cette commande remplacera chaque occurrence de «recherche» par «remplacer» pour la ligne actuelle uniquement. Le% est utilisé pour rechercher dans tout le fichier. Pour confirmer chaque remplacement, ajoutez de manière interactive un «c» pour confirmation:
Interactive confirme le remplacement de «recherche» par «remplacer» pour l'ensemble du fichier
Au lieu du caractère%, vous pouvez utiliser une plage de numéros de ligne (notez que le caractère '^' est un caractère de recherche spécial pour le début de la ligne) :
Insère un caractère '#' au début des lignes 14-20
Si vous souhaitez utiliser un autre caractère de commentaire (comme //), modifiez le délimiteur de commande:
Insère une séquence de caractères '//' au début des lignes 14-20
Ou vous pouvez toujours simplement échapper les caractères // comme:
Insère une séquence de caractères '//' au début des lignes 14-20
Si vous ne voyez pas les numéros de ligne dans votre éditeur, tapez simplement ce qui suit
la source
#
dans la ligne. Vous devez utiliser à la^#
place.Une autre façon qui pourrait être plus simple pour les nouveaux arrivants:
Placez le curseur sur la première ligne, par exemple en
gg
et tapez ce qui suit pour passer en mode insertion et ajouter votre texte:
I / / Space
Appuyez Escsur pour revenir en mode commande et utilisez le digraphe:
j . j .
jest une commande de mouvement pour descendre d'une ligne et .répète la dernière commande d'édition que vous avez faite.
la source
|
au lieu d'une majusculeI
. Je pensais que c'était un|
premier.Et encore une autre façon:
la source
Cela ajoute
#
au début de chaque ligne:Et les gens cesseront de se plaindre de votre manque de scripts correctement commentés.
la source
Si vous voulez être super chic, mettez ceci dans votre .vimrc:
Ensuite, chaque fois en mode visuel, vous pouvez frapper
\c
à c omment le bloc et\u
à u ncomment il. Bien sûr, vous pouvez changer ces raccourcis clavier en quoi que ce soit.la source
vmap
!Encore une autre façon:
/^/
est juste un modèle factice pour correspondre à chaque ligne.norm
vous permet d'exécuter les commandes en mode normal qui suivent.I//
dit d'entrer en mode insertion tout en déplaçant le curseur au début de la ligne, puis insérez le texte suivant (deux barres obliques).:g
est souvent pratique pour faire quelque chose de complexe sur plusieurs lignes, où vous pouvez sauter entre plusieurs modes, supprimer ou ajouter des lignes, déplacer le curseur, exécuter un tas de macros, etc. Et vous pouvez lui dire de fonctionner uniquement sur des lignes qui correspondre à un modèle.la source
Pour commenter des blocs de code, j'aime le plugin NERD Commenter .
Sélectionnez du texte:
Commentaire:
Décommenter:
Ou basculez simplement l'état de commentaire d'une ligne ou d'un bloc:
la source
Je peux recommander le plugin EnhCommentify .
par exemple. mettez ceci à votre vimrc:
vous pouvez ensuite commenter / décommenter les lignes (sélectionnées) avec ', c'
la source
Marquer la zone à commenter comme un bloc visuel (
<C-V
)et fait
c#<ESC>p
c
le suspendre à "#"Si vous le faites souvent, définissez un raccourci (exemple
\q
) dans votre .vimrcla source
Dans le cas où la sélection multi-lignes de quelqu'un est en fait un paragraphe, il n'est pas nécessaire de sélectionner manuellement les lignes. vim peut le faire pour vous:
vip
: sélectionnez et marquez le paragraphe entiershift-i
: insérer du texte au début de la ligneescape
: quitter le mode insertion / entrer en mode normal [débuts de ligne toujours sélectionnés]escape
: désélectionner les débuts de lignela source
Pour insérer "ABC" au début de chaque ligne:
1) Passez en mode commande
2):% norme I ABC
la source