Pregunta

Ahí está el ": a " comando, pero eso es de varias líneas, y argdo le pide el texto nuevamente para cada archivo.

Los documentos mencionan el comando global (g / pat / command) que usará una versión alternativa de ": a " que termina con una nueva línea en lugar de ". " en una línea (puede incluir nuevas líneas escapándolas con " \ "). Pero no pude hacer que esto funcione.

La única forma que he visto es tirar primero el texto a agregar a un registro con nombre, luego usar:

:argdo put x                 " where x is the register

Espero algo como

:argdo append myTextHere
¿Fue útil?

Solución

No tengo claro dónde está intentando insertar el texto en el búfer. Si lo desea después de la línea actual:

:argdo exe 'normal osometext'

Insertar texto con saltos de línea:

:argdo exe "normal osometext\<CR>anewline"

Otros consejos

Para agregar texto después de la línea nr 10:

:argdo call append(10, "hello world")

Para agregar texto a la línea 10:

:argdo call setline(10, getline(10)."textappended")

Yanking un texto en vim lo pondrá en el búfer predeterminado, que es ". Puede pegar ese búfer en modo de inserción, por ejemplo, escribiendo <C-R>". Entonces todo lo que necesitas es argdo put "

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top