Vim ex número sabiendo escrito antes
Pregunta
Estoy haciendo un atajo que coloca un # al frente de cada línea, en la siguiente x líneas. x es un tipo de número I antes de entrar en el acceso directo, como 11dd
tipificación elimina los próximos once líneas.
El comando es .,+10 s/^/#/g
. Aquí el número diez en realidad debería ser lo que se ha escrito antes de que el acceso directo. ¿Cómo puedo hacer el cambio de método abreviado de acuerdo con el número que se ha escrito antes de que?
Agregado después de que se respondió a la pregunta:
Así que ahora tengo el siguiente en el .vimrc:
nmap c1 :s/^/#/g<esc>``
nmap c0 :s/^#//g<esc>``
¿Qué me permite escribo 13ac
, añadir #
en la parte delantera de las siguientes 13 líneas, y 13dc
para eliminar cualquier #
en la parte delantera de las siguientes 13 líneas.
Es mejor que =pod
y =cut
porque causa errores cuando están anidados.
c1 = comentario complemento, España
C0 = Eliminar comentario.
# Se utiliza en Perl.
Solución
En el modo ex
, puede utilizar el siguiente comando:
s/^/#/count
donde count
es el número de líneas que desea cambiar. No se puede poner el número antes de la orden, debido a que se utiliza para seleccionar la línea de salida (línea actual si se omite). Así:
5s/^/#/3
agregará un '#' antes de las líneas 5, 6 y 7.
Editar
En el modo ex
puede utilizar el comando map
para crear un acceso directo a un comando de colon, que luego se puede utilizar con un número de prefijo:
map CC :s/^/#/g
Ahora usted puede utilizar 'xcc' en el modo vi
a anteponer '#' para las próximas líneas x
.