Para trabajar, las abreviaturas deben estar separadas por espacios en blanco. Por ejemplo, si tengo una iab fo FOOBARescritura whatfo, no se activará la abreviatura. Hay algunas razones razonables obvias para esto.
Sin embargo, me gustaría una abreviatura que pueda usarse como sufijo sin que tenga que activar el iab y luego regresar y eliminar el espacio. es posible? Ej iab fo <backspace>FOOBAR.
abbreviations
encerrada dorada
fuente
fuente

Respuestas:
Podrías escribir dentro de tu vimrc:
iab fo <BS>FOOBAR<BS>es la notación a usar para la tecla de retroceso.Para obtener más información sobre nombres de teclas especiales, consulte:
fuente
[7:0]y tendrías que jugar con el número debs, etc. para personalizarlo, creo.byeconByEsería suficiente. Pero puede haber otros casos en los que fallaría, no lo sé. En cualquier caso, la primera versión debería, con suerte, funcionar la mayor parte del tiempo.iab fo <BS>foobarfue suficiente. Disculpe las molestias, probablemente debería marcar la respuesta de @djjcast como la respuesta correcta. Por el momento no puedo eliminar mi respuesta, pero una vez que pueda lo haré. De nuevo, lo siento mucho, no estoy acostumbrado a las abreviaturas.<BS>era justo la cosa. Juro que probé algo así, pero no conozco todos los personajes de control, por lo que podría haber usado<backspace>algo.:help key-notationSimplemente presione en modo de inserción Ctrl]. Esto activará las abreviaturas para expandirse, sin ingresar un espacio
fuente
X(FOOBAR)noX( FOOBAR. Usar Ctrl-] simplemente elimina el espacio al final . Necesito poder usar la abreviatura, que también depende del espacio en blanco al principio para disparar , pero tenerla concatenada con la palabra anterior (eso es lo que significa " sufijo ").${1}FOOBAR, esa es una buena respuesta. Si desea cambiar esto: / o agregar otra respuesta, marcaré eso.Como alternativa, aquí hay una manera de definir y expandir abreviaturas que se expanden en cualquier lugar:
Simplemente agregue las abreviaturas que deberían expandirse en cualquier parte del
s:anywhere_abbreviationsdiccionario. Las:MaybeExpandAbbreviation()función busca y expande las coincidencias de abreviaturas cuando se presiona la tecla de activación,<Space>se asigna para activar la expansión de las "abreviaturas en cualquier lugar".Con el
s:anywhere_abbreviationsdiccionario anterior , la escriturawhatfo<Space>se expandirá awhatFOOBAR.fuente
Para resumir las dos respuestas más simples que surgieron de esto:
Puede usar un espacio de retroceso directamente en una abreviatura : varios caracteres especiales se documentan debajo
:help keycodes. Entonces, por ejemplo:Le permitirá escribir
trans cdty obtenertranscendental.Uno de los que me avergüenzo particularmente desde que lo he estado usando durante años: el plugin snipMate común permite que los parámetros estén al frente, así que
Permite escribir
cdt, que Tabse expandirácendentaly colocará el cursor al frente para que pueda escribirtrans, luego presione Tabnuevamente para avanzar al comienzo de la siguiente palabra.fuente