Estoy escribiendo listas HTML y quiero poder pegar automáticamente 10 elementos de la lista donde el texto del elemento es lo único que cambia.
Podría lograr esto usando PHP y luego simplemente copiando el código HTML representado, pero si hay una manera de omitir ese paso y hacerlo directamente desde Vim, eso me ahorraría mucho tiempo.
cut-copy-paste
replace
filetype-html
Azmodeo
fuente
fuente
Respuestas:
Para lo que quieres hacer, emmet-vim , como sugiere nobe4, es tu mejor opción.
En el modo de inserción,
li{item $}*10<c-y>,
se expandirá 10<li>
s conitem N
precargado como texto. Comenzarás a editar el contenido del primero. Mientras todavía está en modo de inserción, al presionar<c-y>n
se moverá a la siguiente etiqueta para editar.Si los elementos de su lista no son una secuencia de texto repetido, puede usar vim-surround para ayudar.
Ejemplo de lista de texto que debe envolverse:
Si comienza con el cursor en algún lugar del texto, al presionar se
^vip$<c-v>Stli<cr>
ajustará cada línea<li></li>
.Esto se puede convertir en un mapa de teclas fácil de usar:
fuente
.col$*5>.inner
Probablemente haría esto con un mapeo:
El plan es insertar en las etiquetas y luego colocar la inserción entre ellas, de modo que pueda escribir el texto, volver al modo normal y luego hacer ctrl-b nuevamente. (PS, los ^ B y ^ [se ingresan usando ctrl_V, pero probablemente ya lo sabías.) Para poner en diez filas en un solo comando, puedes usar
No estaba claro si tiene alguna forma automática de crear el texto del elemento.
fuente