Quiero agregar *
al final de cada línea en Vim.
Probé el código sin éxito
:%s/\n/*\n/g
Quiero agregar *
al final de cada línea en Vim.
Probé el código sin éxito
:%s/\n/*\n/g
Respuestas:
:%s/$/\*/g
Deberia trabajar. Así debería :%s/$/*/g
como MrWiggles señala correctamente.
g
indicador no es necesario.
Incluso más corto que el: comando de búsqueda:
:%norm A*
Esto es lo que significa:
% = for every line
norm = type the following commands
A* = append '*' to the end of current line
I*
lugar de 0i*
ahorrarle una pulsación de tecla.
:
, esto completará previamente el comando con el :'<,'>
que luego puede hacer:'<,'>norm A*
I
en su lugar -:%norm I*
También:
:g/$/norm A*
También:
gg<Ctrl-v>G$A*<Esc>
g
es un global
comando que hace algo con cada línea coincidente. $
coincide con cada línea. Podría ser también ^
o .*
. La norma ejecuta comandos que normalmente usa en modo comando. Entonces A*
significa agregar *
al final de la línea.
Creo que usar el modo de bloque visual es un método mejor y más versátil para lidiar con este tipo de cosas. Aquí hay un ejemplo:
This is the First line.
This is the second.
The third.
Para insertar "Hola mundo". (espacio + portapapeles) al final de cada una de estas líneas:
El resultado es:
This is the First line. Hello world.
This is the second. Hello world.
The third. Hello world.
(ejemplo de Vim.Wikia.com )
jj
se puede golpear G
para pasar a la última línea. Esto es útil en archivos grandes, donde presionar j
hasta llegar a la última línea no es práctico.
Realmente no necesitas el g
al final. Entonces se convierte en:
:%s/$/*
O si solo desea *
el final de, diga las líneas 14-18:
:14,18s/$/*
o
:14,18norm A*
... y para anteponer (agregar el comienzo de) cada línea con *,
%s/^/*/g
Una opción es:
:g/$/s//*
Esto encontrará cada ancla de final de línea y la sustituirá por *
. Digo "sustituto" pero, en realidad, es más un complemento ya que el ancla es una cosa especial en lugar de un personaje normal. Para obtener más información, consulte Poder de g: ejemplos .
:% s / \ n / * \ r / g
El primero es correcto en cualquier otro lugar, pero Vim tiene que tener un manejo diferente de nueva línea por alguna razón.
:s///
,\n
corresponde a un carácter nulo. La sección:help sub-replace-special
es relevante.