Actuellement, j'ai deux méthodes similaires pour remplacer le tampon entier par un autre texte (disons dans le presse-papiers).
Méthode n ° 1:
supprimer toutes les lignes:
:%d
.coller du texte: "+P(ou similaire:)
:put+
.
Méthode n ° 2:
sélectionner visuellement toutes les lignes: ggVG.
coller le texte: "+P.
Cependant, je n'arrivais pas à trouver un moyen de tir unique pour le faire. Le plus proche que j'ai trouvé est la :change
commande. Mais cela ne semble pas bien fonctionner avec les registres. Bien sûr, je peux créer une fonction et / ou mapper une clé pour le faire. Mais avant de pouvoir faire toutes ces personnalisations, je veux m'assurer:
Existe-t-il une commande intégrée pour remplacer une plage de lignes par un autre texte? Comme, vous pourriez
:%replace+
remplacer le tampon entier par du texte dans le presse-papiers?
la source
1,$s/\_./\=@+
n'est pas une solution: P,:%d|put+
c'est plus proche, mais pas tout à fait là.1,$s/\_.*/\=@+
, où\_.
correspond à n'importe quel caractère, y compris la nouvelle ligne.:%d|put+
correspond au projet de loi. C'est court et mémorable. L'autre commande est tout simplement trop mystérieuse pour être mémorisée et saisie correctement.Réponses:
Vous pouvez faire
ggvG<CTRL-G>
pour sélectionner visuellement l'ensemble du tampon et entrerSelect-mode
. C'est le moyen le plus simple de remplacer le tampon par du texte que vous prévoyez de taper. Vous pouvez même être en mesure de faire unSelect-mode
mappage avec:smap
qui résout votre problème.la source
Une façon de remplacer le tampon entier par votre presse-papiers peut être via une commande externe, par exemple:
Voir aussi: Partage du presse-papiers de Mac OS X
Ou en utilisant la substitution:
Vous pouvez également utiliser
:%d|put+
(comme déjà suggéré dans les commentaires).la source