Pregunta

Me gustaría imitar Textmates CTRL+ALT+w, que crea un nuevo par de apertura y cierre de las etiquetas HTML en la misma línea.

En VIM Envolvente estoy usando CTRL+c en el modo de Edición de este, pero siempre sangrías y crea una nueva línea después de la configuración de la etiqueta, así que se parece a esto (* = posición del cursor):

<p>
  *
</p>

Hay una manera de lograr esto?:

<p>*</p>
¿Fue útil?

Solución

Supongo que tu problema es que el área seleccionada es "la línea de sabios".Por ejemplo, si selecciona un par de vidas con V y lo rodean con etiquetas, las etiquetas se colocan uno arriba y uno debajo de las líneas seleccionadas.

Usted probablemente desee crear un "personaje sabio" de la selección, con v antes de que la rodean.

De todos modos, por favor enviar el mapa creado, para que podamos ayudar a la depuración de este.


Actualización

Después de algunas aclaraciones en los comentarios, yo diría que la rodean plugin no es la mejor opción.Como su nombre lo indica, fue creada para tratar rodeado de contenido.Así que usted puede necesitar contenido para rodear.

En su caso, recomiendo echar un vistazo en HTML AutoCloseTag.Este plugin se cierra la etiqueta html una vez que usted escriba el >.Sin duda, es más apropiado, y utiliza menos pulsaciones de sonido envolvente.

<p         <--- Now when you type ">", if becomes:
<p>|</p>   <--- Where "|" is the cursor.

Obviamente, usted conseguirá este comportamiento para cada etiqueta.Pero que puede ser útil si usted gusta.

Otros consejos

De modo normal, tipo vstp> para entrar en el modo visual y la salida de una apertura y cierre <p> etiqueta en la misma línea en la posición actual del cursor.El uso de un capital de S para mantener el actual nivel de sangría.

Esto no coloque el cursor entre las etiquetas tal como la describe, pero tampoco Textmate CtrlW acceso directo (creo que quiso decir CTRL+Mayús+w, no CTRL+ALT+w, como en el segundo, solo salidas de un diamante de signo).

Mi respuesta es probablemente llegada tarde, pero intentaré ayudar. Tuve un problema similar con el complemento Vimsurround.Cada vez que selecciono la oración (una línea) usando Ctrl + V e intenta rodearlo con algo que recibo esto:

{
var myVar
}

en lugar de esto:

{ var myVar } // what I wanted

Encontré una solución fácil: desde un modo normal, elijo una línea con vis y luego escribo el capital C (My Vim Surround Mapping) y elige los soportes para rodear. Entonces, tengo una línea muy bienrodeado.

El título de la pregunta se puede etiquetar técnicamente en función de lo que realmente estaba buscando el autor, pero como estaba buscando la respuesta a la pregunta que se le solicita en el título, me imagino que también debería proporcionarle una respuesta a ella.

Para crear una nueva etiqueta que rodea un elemento sin la sangría automática, los usos envolventes VIM cuando usan una selección de bloques de bloques (es decir,: vyss ), puede hacer algo así como:

^ ys $

Este comando moverá su cursor al primer carácter que no sea en blanco de la línea, emitirá el comando al que desea utilizarlo, y pasar al final de la línea.Luego, simplemente comience a ingresar su etiqueta.

El resultado es esto:

<input type="email" name="email">

podría convertirse en algo como este:

<li><input type="email" name="email"></li>

El comando es repetible también con . y toda la otra buena bondad vim.

Toplicó sobre esta pregunta porque también me estaba preguntando esto: creo que la forma más sencilla de hacer esto es solo:

yss<p>

(yss rodea una línea con algo sin sangría: consulte aquí: http://www.catonmat.net/blog/vim-plugins-surround-vim/ )

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