Pour fonctionner, les abréviations doivent être séparées par des espaces. Par exemple, si j'ai un, la iab fo FOOBAR
frappe whatfo
ne déclenchera pas l'abréviation. Il y a des raisons évidentes à cela.
Cependant, je voudrais une abréviation qui pourrait être utilisée comme suffixe sans que je doive déclencher l'iab, puis revenir en arrière et supprimer l'espace. Est-ce possible? Par exemple, iab fo <backspace>FOOBAR
.
abbreviations
boucle d'or
la source
la source
Réponses:
Vous pouvez écrire dans votre vimrc:
iab fo <BS>FOOBAR
<BS>
est la notation à utiliser pour la touche de retour arrière.Pour plus d'informations sur les noms de clés spéciales, voir:
la source
[7:0]
et vous devrez jouer avec le nombre deb
s, etc. à personnaliser pour cela, je pense.b
ete
parB
etE
serait suffisant. Mais il peut y avoir d'autres cas où cela échouerait, je ne sais pas. Dans tous les cas, la première version devrait, espérons-le, fonctionner la plupart du temps.iab fo <BS>foobar
suffisait. Désolé pour la gêne occasionnée, vous devriez probablement cocher la réponse de @djjcast comme réponse correcte. Pour le moment, je ne peux pas retirer ma réponse, mais une fois que je le pourrai, je le ferai. Encore une fois vraiment désolé, je n'ai pas l'habitude des abréviations.<BS>
était juste la chose. Je jure d'avoir essayé quelque chose comme ça, mais je ne connais pas tous les personnages de contrôle, donc j'aurais peut-être utilisé<backspace>
quelque chose.:help key-notation
Appuyez simplement sur en mode insertion Ctrl]. Cela déclenchera l'extension des abréviations, sans entrer dans un espace
la source
X(FOOBAR)
nonX( FOOBAR
. L'utilisation de Ctrl-] élimine simplement l'espace à la fin . J'ai besoin de pouvoir utiliser l'abréviation - qui dépend également des espaces au début pour se déclencher - mais la faire concaténer avec le mot précédent (c'est ce que signifie un " suffixe ").${1}FOOBAR
- c'est une bonne réponse. Si vous voulez changer ceci: / ou ajouter une autre réponse, je cocherai cela.Comme alternative, voici un moyen de définir et d'étendre des abréviations qui se développent n'importe où:
Ajoutez simplement les abréviations qui devraient se développer n'importe où dans le
s:anywhere_abbreviations
dictionnaire. Las:MaybeExpandAbbreviation()
fonction recherche et étend les correspondances d'abréviations lorsque la touche de déclenchement est enfoncée -<Space>
est mappée pour déclencher l'expansion des «abréviations n'importe où».Avec le
s:anywhere_abbreviations
dictionnaire ci-dessus , la saisiewhatfo<Space>
s'étendra àwhatFOOBAR
.la source
Pour résumer les deux réponses les plus simples qui en sont ressorties:
Vous pouvez utiliser un retour arrière directement dans une abréviation - divers caractères spéciaux sont documentés sous
:help keycodes
. Ainsi, par exemple:Vous permettra de taper
trans cdt
et d'obtenirtranscendental
.Celui dont j'ai particulièrement honte depuis que je l'utilise depuis des années: le plugin snipMate commun permet aux paramètres d'aller de l'avant, donc
Permet de taper
cdt
, qui Tabse développeracendental
et mettra le curseur devant pour que vous puissiez tapertrans
, puis appuyez à Tabnouveau pour passer au début du mot suivant.la source