Je veux ajouter *à la fin de chaque ligne dans Vim.
J'ai essayé le code sans succès
:%s/\n/*\n/g
Je veux ajouter *à la fin de chaque ligne dans Vim.
J'ai essayé le code sans succès
:%s/\n/*\n/g
Réponses:
:%s/$/\*/g
devrait marcher. Il :%s/$/*/gen va de même comme MrWiggles le souligne correctement.
gindicateur n'est pas nécessaire.
Encore plus court que la commande: search:
:%norm A*
Voilà ce que cela signifie:
% = for every line
norm = type the following commands
A* = append '*' to the end of current line
I*plutôt que vous 0i*fera économiser une touche.
:, cela pré-remplira la commande avec :'<,'>laquelle vous pourrez ensuite effectuer:'<,'>norm A*
Iplutôt -:%norm I*
Aussi:
:g/$/norm A*
Aussi:
gg<Ctrl-v>G$A*<Esc>
gest une globalcommande qui fait quelque chose avec chaque ligne correspondante. $correspond à chaque ligne. Ce pourrait être aussi ^ou .*. La norme exécute les commandes que vous utilisez normalement en mode commande. A*Signifie donc ajouter *à la fin de la ligne.
Je pense que l'utilisation du mode bloc visuel est une méthode meilleure et plus polyvalente pour faire face à ce type de chose. Voici un exemple:
This is the First line.
This is the second.
The third.
Pour insérer "Bonjour tout le monde". (espace + presse-papiers) à la fin de chacune de ces lignes:
Le résultat est:
This is the First line. Hello world.
This is the second. Hello world.
The third. Hello world.
(exemple de Vim.Wikia.com )
jjon peut frapper Gpour passer à la dernière ligne. Ceci est utile dans les fichiers volumineux, où appuyer jjusqu'à ce que vous atteigniez la dernière ligne n'est pas pratique.
Vous n'avez pas vraiment besoin du gà la fin. Cela devient donc:
:%s/$/*
Ou si vous voulez juste *la fin, dites les lignes 14-18:
:14,18s/$/*
ou
:14,18norm A*
... et ajouter (ajouter le début de) chaque ligne avec *,
%s/^/*/g
Une option est:
:g/$/s//*
Cela trouvera chaque ancre de fin de ligne et la remplacera par *. Je dis "substitut" mais, en fait, c'est plus un ajout car l'ancre est une chose spéciale plutôt qu'un caractère régulier. Pour plus d'informations, voir Puissance de g - Exemples .
:% s / \ n / * \ r / g
Votre premier est correct ailleurs, mais Vim doit avoir un traitement de nouvelle ligne différent pour une raison quelconque.
:s///,\ncorrespond à un caractère nul. La section:help sub-replace-specialest pertinente.