2010-01-01 15 views
8

Les commandes d'abréviation et de carte semblent toutes deux donner à l'utilisateur une fonctionnalité redondante. :imap teh the semble faire le même travail que :iabbr teh the. J'ai tendance à faire tous mes paramètres en :map commandes de différents types - tout depuis les corrections de typo aux one-liners script-like.Quand utiliser: abbr vs.: map in vi/vim

Existe-t-il une réelle différence entre les cartes et les abréviations? Quelle commande convient le mieux à quel travail?

+0

voir aussi: http://stackoverflow.com/questions/3776117/what-is-the-difference-between-the-remap-noremap-nnoremap-and-vnoremap-mapping – dreftymac

Répondre

10

La plus grande différence dans ce cas spécifique est que iabbr ne changera le texte qu'une fois que vous aurez appuyé sur espace, et affichera chaque caractère à l'écran pendant que vous tapez. En revanche, imap retardera l'affichage de tous les caractères en teh jusqu'à ce que la carte soit résolue dans un sens ou dans l'autre. Je recommanderais iabbr dans ce cas - vous verrez des caractères apparaître pendant que vous tapez, les mots qui commencent par l'abréviation seront manipulés correctement, et (surtout) vous n'obtiendrez pas un retard agaçant pour tous les mots qui commencent par t .

+1

l'espace n'est pas la seule clé qui déclenche L'expansion. Tout caractère non-mot-clé a le même effet. –

+1

Je vois. J'utilise le ': imap jj ' et je remarque maintenant le retard quand je commence n'importe quel mot avec 'j'. Est-ce vraiment juste une chose visuelle? voir la macro en cours par opposition à ne pas le voir? – user17925