web-dev-qa-db-fra.com

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 noms de variables longs dans la ligne de recherche, car je ne peux pas taper "p" sur la ligne de commande?

92
Edward Tanguay

Vous pouvez insérer le contenu d’un registre numéroté ou nommé en tapant CTRLR{0-9a-z"%#:-=.}. En tappant CTRL-RCTRL-W vous pouvez coller le mot actuel sous le curseur. Voir:

:he cmdline-editing

pour plus d'informations.

121
WMR

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

49
Ned

Tapez q: pour entrer en mode d'édition d'historique dans un nouveau tampon. Puis éditez la dernière ligne du tampon et appuyez sur Enter pour l'exécuter.

14
Johannes Hoff

Copie:
1) v (ou mettre en surbrillance avec la souris, en mode visuel) 
2) y (tirer)

Coller:
1) / (mode de recherche)
2) Ctrl + R + 0 (coller à partir du registre viré)

10
Jason

Ou créez la commande dans un tampon vim, par exemple. tapez le dans le tampon:

s/foo/bar/gci

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

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

:[OPTIONAL_RANGE]@a

Je l'utilise tout le temps.

3
Zsolt Botykai

En général, vous le feriez en sélectionnant la souris (peut-être CtrlIns ou CtrlC après la sélection) puis, lorsque vous êtes dans la ligne de commande/de recherche, cliquez avec le bouton du milieu (ou ShiftIns ou CtrlV).

Une autre solution consiste à écrire votre commande/ligne de recherche dans le tampon de texte avec toutes les modifications disponibles dans les tampons de texte, en commençant par : et ensuite, ensuite, sur la ligne, faites:

"add@a

qui stockera la totalité de la ligne de commande dans le tampon aname__, puis l'exécutera. Il ne sera cependant pas stocké dans l'historique des commandes.

Essayez de créer la ligne suivante dans le tampon de texte en guise d'exemple pour l'utilisation des touches ci-dessus:

:%s/$maximumTotalAllowedAfterFinish/$minimumTotalAllowedAfterFinish/g

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

2
tzot

Vous pouvez placer le curseur sur le mot que vous souhaitez ajouter à votre modèle, puis appuyez sur / ou : pour entrer en mode de recherche ou de commande, puis appuyez sur CtrlRCtrlW copier le mot. Source

0
boosted regressor