Para trabajar, las abreviaturas deben estar separadas por espacios en blanco. Por ejemplo, si tengo una iab fo FOOBAR
escritura 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 deb
s, etc. para personalizarlo, creo.b
ye
conB
yE
serí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>foobar
fue 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-notation
Simplemente 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_abbreviations
diccionario. 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_abbreviations
diccionario 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 cdt
y 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ácendental
y colocará el cursor al frente para que pueda escribirtrans
, luego presione Tabnuevamente para avanzar al comienzo de la siguiente palabra.fuente