Soy un nuevo usuario de vim (gvim en Windows) y he encontrado que las abreviaturas son un buen ahorro de tiempo; sin embargo, serían aún mejores si pudiera detener los espacios en blanco.prevención de espacios en blanco al usar las abreviaturas vim
tengo algunos directorios que yo uso mucho, y por lo que he añadido algunos pares abreviatura/path a mi _vimrc:
:ab diR1 C:/dirA/dira/dir1/
:ab diR2 C:/dirA/dirb/dir2/
etc ...
Ahora, cuando el tipo i diR1 <space>
me sale C:/dirA/dira/dir1/[]|
donde el espacio en blanco está representado por []
y el cursor es el carácter |
. Me gustaría deshacerme del []
== espacio en blanco.
Esta es una queja menor: sin embargo, parece que usted puede personalizar todo lo demás en Vim, así que pensé que podría preguntar: ¿es posible evitar los espacios en blanco al utilizar abreviaturas en vim?
Una herramienta alternativa utilizada en Vim es una buena respuesta. Mi objetivo es guardar las estructuras de directorios utilizadas con frecuencia, pero tener el cursor a mano ya que casi siempre agregaría algo al final, como myFile.txt
.
El espacio en blanco trasero (sin duda debido al hecho de que el space
desencadenó la abreviatura), que i RETROCESO más antes de añadir myFile.txt
al final es menos molesto que escribir todo el asunto una y otra vez, pero sería ideal si i podría evitar hacerlo ...
+1. gracias eso es útil. Lo entiendo (creo) hasta el bit '('\ m \ s \ | \ /')'. No estoy seguro con vim regex por el momento. ¿Puede usted explicar por favor? – ricardo
Las expresiones regulares de Vim tienen diferentes niveles de "magia". '\ m' usará' magic' para la expresión regular actual. '\ |' permite que la expresión regular se bifurque, de modo que sea un espacio en blanco ('\ s') o una barra inclinada ('/'). Vim es divertido porque muchos componentes de expresiones regulares deben escaparse con una barra diagonal inversa. Si querías una expresión regular de Perl, puedes usar '\ v \ s | /'. El '\ v' significa mucha magia y menos cosas deben escaparse. Tenga en cuenta que tuve un error en expresiones regulares en la publicación anterior. Debería ser '\ m \ s \ | /'. Además, el carácter '|' se interpretará incorrectamente para esta asignación y debe cambiarse a ''. He corregido mi publicación. –
en este momento, cuando lo introduzco con el '= Eatchar ('\ m \ s | \ /')' recibo el siguiente error: 'Se detectó un error al marcar C: \ vim \ abrevs.txt: línea 3: E35: No hay expresión regular previa' (yo fuente mi archivo abreviado en mi _vimrc). por prueba y error encontré que eliminar todo siguiendo los trabajos '' - por lo tanto, en este punto tengo ': iabbr diR1 C:/dirA/dira/dir1/', y no obtengo el espacio en blanco en el fin. –
ricardo