115 votes

Dans Vim, existe-t-il un moyen de coller du texte dans la ligne de recherche ?

Je veux rechercher $maximumTotalAllowedAfterFinish et le remplacer par $minimumTotalAllowedAfterFinish . Au lieu de taper le texte long :

:%s/$maximumTotalAllowedAfterFinish/$minimumTotalAllowedAfterFinish/g

Existe-t-il un moyen de COPIER ces longs noms de variables dans la ligne de recherche, puisque, sur la ligne de commande, je ne peux pas taper " p " à coller ?

142voto

WMR Points 5869

Vous pouvez insérer le contenu d'un registre numéroté ou nommé en tapant CTRLR <code>{0-9a-z"%#:-=.}</code> . En tapant CTRL-R CTRL-W vous pouvez coller le mot courant sous le curseur. Voir :

:he cmdline-editing

pour plus d'informations.

59voto

Ned Points 839

Copiez-le comme d'habitude, puis faites CtrlR" à coller. Il y a beaucoup d'autres CtrlR des raccourcis (par exemple, une calculatrice, le nom du fichier en cours, le contenu du presse-papiers). Tapez :help c_<C-R> pour voir la liste complète.

15voto

Johannes Hoff Points 1330

Type q: pour passer en mode d'édition de l'historique dans un nouveau tampon. Ensuite, éditez la dernière ligne du tampon et appuyez sur Enter pour l'exécuter.

3voto

Zsolt Botykai Points 20615

Ou créez la commande dans un tampon vim, par exemple en la tapant dans le tampon :

s/foo/bar/gci

Et le copier dans un registre nommé, avec "ayy (si le curseur est sur cette ligne !).

Vous pouvez maintenant exécuter le contenu du fichier " a "à partir de la ligne de commande Ex de Vim avec :

:[OPTIONAL_RANGE]@a

Je l'utilise tout le temps.

2voto

tzot Points 32224

En général, vous le feriez en sélectionnant la souris (peut-être CtrlIns o CtrlC après la sélection) et ensuite, dans la ligne de commande/de recherche, cliquer au milieu (ou ShiftIns o CtrlV ).

Une autre façon est d'écrire votre ligne de commande/recherche dans le tampon de texte avec toutes les possibilités d'édition disponibles dans les tampons de texte, en commençant par : et tous, alors, sur la ligne, faites :

"add@a

qui stockera la ligne de commande entière dans le tampon a puis l'exécuter. Elle ne sera cependant pas enregistrée dans l'historique des commandes.

Essayez de créer la ligne suivante dans le tampon de texte comme exemple pour les pressions de touche ci-dessus :

:%s/$maximumTotalAllowedAfterFinish/$minimumTotalAllowedAfterFinish/g

Enfin, vous pouvez entrer q: pour entrer dans l'édition de l'historique dans un tampon de texte.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X