2011-04-03 26 views
7

me gustaría saber si es posible añadir espacios (30 espacios) en la posición del cursorVIM: Añadir espacios en la posición del cursor

(Traté de hacerlo con expresiones regulares, pero no sé cómo representar la posición del cursor actual en expresiones regulares.)

Respuesta

16

iSPACE añadirá 30 plazas en la posición del cursor en modo comando.

+5

Se agregan al salir del modo de inserción (usando ESC por ejemplo) –

+0

... y si lo hace a menudo puede agregar ': nmap 30i ' a su archivo '.vimrc' y simplemente presione la tecla' 'en modo normal. – nietaki

+0

gracias :) Solo una cosa ... Noté que los espacios están insertados antes del cursor. ¿Cuál sería el código si los espacios se insertan después del cursor (el cursor permanece en el mismo lugar) – Reman

3

1- Puede usar vim registro para esto:

"A define registran una y si se corta con un espacio en blanco" hacha hace que registrar una cuenta con espacios en blanco. A continuación, utilice:

30" ap

2- Cortar un whitspace con x y pegarlo con 30p

Nota: Los registros no se olvide de su valor en lo primera solución es más útil

+0

Siempre es bueno mostrar que hay muchas maneras de hacer lo mismo, por lo que +1, aunque creo que la respuesta de Khachick es la forma en que lo haría. – Benoit

2

. Además de las respuestas ya dadas, puedo decir que la posición del cursor se representa en regex con \%#, por lo que s/\%#/\=repeat(" ", 30)/ agregará 30 espacios en la posición del cursor al igual que 30i<Space><Esc>.

+0

Gracias ZyX. Los cursores se mueven al comienzo de la línea. ¿Es posible mantener el cursor en el mismo lugar (colocar los espacios después del cursor)? – Reman

+0

@Remonn '30a ' o 's/\% (\% # \% (. \ | $ \) \) \ @<=/\ = Repeat (" ", 30) /'. Si no desea mover el cursor, deberá rodear cada uno de los comandos con 'let winview = winsaveview() | ... | llame a winrestview (winview) '. – ZyX

+0

¡Muchas gracias! Funciona bien. :) – Reman

Cuestiones relacionadas