Quiero tirar varias líneas en un solo registro en vim, para pegar fácilmente diferentes plantillas de texto en un documento.
Por ejemplo, "iyy tira solo la línea actual, si trato de seleccionar varias líneas en modo visual, no se escribe en el registro.
¿Alguna sugerencia?

Respuestas:
Use
3Ypara tirar 3 líneas en el registro predeterminado;"i3Ypara entrar en el registro i.Además, mi forma favorita es no contar las líneas que quiero tirar, sino seleccionarlas en modo visual a través de
Vcomandos y moverlos, y luego presionarypara tirar o"_ytirar en un registro.Además, acabo de intentar seleccionar varias líneas en el modo Visual Line y pasar a un registro no predeterminado, por ejemplo
Vjjj"oy, y funciona.fuente
Ves el modo de línea visual,ves el modo visual.%)Desde cualquier lugar dentro del archivo, puede usar lo siguiente.
Yank lines 2 - 5. EN REGISTRO a
Pegue el registro debajo de la línea 7.
fuente
Use
mpara marcar el inicio, con un nombre de búfer (para que pueda escribirmx). Mueva el cursor hacia abajo donde desee detener la copia y escribay'x(od'xsi está cortando y pegando). Luego mueva el al punto donde desea pegar y escribap.La hoja de trucos del comando Vim
fuente
vnom?Prefijas el comando con un número para obtener cuántas líneas operar. También podría usar un 'objeto de texto' (como ']' para el bloque y ')' para el párrafo), esto funcionaría en varias líneas contextualmente, el valor predeterminado es a menudo una sola línea. Por ejemplo,
"r5yytiraría cinco líneas que comienzan en el cursor en el registro 'r'. (O podría escribir:.,+4y rpara hacer lo mismo en modo ex.) También puede combinar números con objetos de texto;"r10y).fuente
Es posible tirar de varias líneas en caso de que sea una última búsqueda.
Por ejemplo, dado el siguiente patrón multilínea no codicioso :
entonces tendrá su patrón multilínea arrancado (entre
startyend) en su@iregistro (imprimir porecho @i).Relacionado: ¿Cómo imprimir una coincidencia de varias líneas? en Vi
fuente