Pregunta

Estoy usando envolvente y repetición plugins de Vim para ajustar las líneas de texto con etiquetas HTML.

voy a utilizar "yse

" y "ys $

", ambos funcionan bien.

Trato de repetir el comando con "", y se nota

en el terminal, pero cada vez que pulse Enter para ejecutar el comando, reemplaza envolventes lo que debería ser

y

con ^ M .

Mi línea se parece ^ Mtext aquí ^ M

Me reconoce el carácter de fin de línea, pero yo no entiendo por qué envolvente no se envuelva mi línea con el código que se muestra en el terminal (lo cual es correcto), pero en su lugar se envuelve mi línea con los finales de línea de DOS.

Estoy usando gVim en Windows XP, si hay alguna diferencia.

¿Fue útil?

Solución

En realidad es porque <p> realmente no está allí cuando se repita el comando con .

Prueba esto: Antes de repetir el comando con . primer golpe o para vaciar la zona de línea de comandos de cualquier texto, después haga clic en .

Se dará cuenta de que en realidad es en blanco, por lo que el cursor se encuentra en el primer carácter.

Para repetir la envoltura de forma adecuada, o bien tiene que escribir cada vez que <p> o grabar una macro rápida.

Macro: ys$<p>

Pegar que en vim, resaltarlo y escriba "py

Ahora se puede ejecutar la macro con @p

Otros consejos

documentación del surround.vim dice:

The "." command will work with ds, cs, and yss if you install repeat.vim, vimscript #2136. 

Así que si usted está utilizando yss que debería funcionar, pero al parecer otras versiones de "ys" no son compatibles. Suena como una buena característica requieren para presentar al propietario repeat.vim.

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