Me gustaría tirar de un carácter y pegarlo en la primera posición de la sucesión de líneas. Por ejemplo, necesito agregar un "#" al frente de 7 líneas de un archivo.
¿Puede ayudarme alguien?
Respuesta1
Depende en gran medida de cómo lo llames vi
. Si es realmente original-vi, entonces puedes hacer esto
- escribiendo ylpara "tirar" de un carácter comenzando en la posición del cursor, yendo una celda hacia la derecha.
- moviendo el cursor a la primera línea donde desea colocar el texto
- escribiendo repetidamente 0PEnter, repasando las siete líneas.
En original-vi, solo podías afectar un rango de líneas usandoexmodo. ElexEl modo de vi
acepta un rango, pero el comando análogo
:1,7P
no lo haríaput
apersonaje, pero intenta hacer algo conlíneas. Más bien, usandoexmodo, harías unsustituto, p.ej,
:1,7s/^/X/
pero no hay manera de quevalor de registro(el personaje(s) que ustedtirado) que se utilizará en la sustitución.
Otras lecturas:
- ex(POSIX)
- vi(POSIX)
- 4. MODO DE COMANDO EX(editor de Elvis)
- 5. Presentando al ex editor(deAprendiendo el editor vi)
Respuesta2
Nota: esta respuesta funciona solo para VIM, no para VI.
Puedes tirarlo en una columna de la siguiente manera:
- Comenzando en modo normal (no insertar).
- Vaya a la primera fila y columna (donde desea insertar el texto).
- Presione Ctrl+ Vpara ingresar al modo de selección vertical.
- Cuando haya seleccionado todas las líneas delante de las cuales desea pegar su texto, presione Shift+ I.
- Ahora puedes
- pegue el texto extraído con Ctrl+ R, 0(u otro registro).
- o escribir cualquier texto.
- Cuando termine, presione Escy aparecerá el mismo texto en todas las líneas seleccionadas.
Nota al margen: también puedes hacer tus preguntas sobre Vi(m) en:vi.stackexchange.com