Souvent, lors de la modification de code, je sélectionne un bloc en mode visuel, puis je recherche et remplace le bloc. Après avoir apporté les modifications, cependant, il quitte le mode visuel. Comment faites-vous une nouvelle recherche et de remplacer sur la même sélection?
vim
text-editors
text-editing
labyrinthe
la source
la source
Réponses:
Vous pouvez resélectionner la dernière zone visuelle sélectionnée avec
gv
.la source
:help
".:help select-visual
devrait vous conduire au manuel correct à l’intérieur de vim @skywinder.gv
est certainement la méthode la plus rapide (utiliser la dernière sélection), mais si vous voulez une région de sélection enregistrée stable (ou plusieurs), vous pouvez toujours créer des macros.Disons que je veux stocker une sélection de ma méthode actuelle, qui va des lignes 25 à 35. Je peux créer une macro qui sélectionne toute la méthode en tapant
Je peux ensuite récupérer cette sélection en tapant
@a
(lancez la macro dans le registre a). Répétez l'opération avec les registres, lignes ou sections de lignes que vous souhaitez. Évidemment, si vous apportez des modifications au fichier, la sélection peut également changer, vous pouvez donc envisager d'utiliser des repères au lieu des numéros de ligne "codés en dur".la source
gv
fonctionne très bien pour récupérer la dernière sélection. Mais on a parfois besoin d'un peu plus.Si vous avez besoin d'un enregistrement plus persistant, jetez un coup d'œil à ce plugin sur lequel nous travaillons actuellement sur le GitHub.
VisualMarks vous permet de sauvegarder et de restaurer visuellement des zones sélectionnées, tout comme vous enregistrez et marquez des emplacements spécifiques dans vos fichiers
m
. Après l’installation et avec les options par défaut, utilisez:en mode visuel pour enregistrer votre sélection actuelle pour marquer
a
, puisen mode normal pour revenir à cette sélection.
la source
mkview
mais .. Je suppose que oui puisque les marques sont enregistrées dans un fichier séparé et .. Je vous suggère d'essayer quand même :) Si elles ne persistent pas comme vous le souhaitez, nous serons heureux de recevoir votre article demande sur GitHub et try'da le traite.Supposons que je souhaite remplacer Goodbye par Hello et que le code ci-dessous soit sélectionné:
Je
:s/Goodbye/Hello/
taperais et vim remplacera toutes les instances deGoodbye
avecHello
C'est simplement une combinaison d'expressions régulières et de sélections de mode visuel de vim. Lorsque vous sélectionnez, il devrait remplir automatiquement
'<,'>
la source
gv
et votre mode visuel reviendra à l’état de sélection précédent.