La méthode standard pour insérer un tiret dans Vim consiste à utiliser un digraphe, comme l' explique tommcdo .
Cependant, je trouve digraphs en général, et en particulier celui - ci ( Ctrl+k, -, Shift+N) assez difficile à taper. Pour une saisie plus rapide des tirets, vous pouvez ajouter la paire suivante de mappages en mode insertion à un fichier type, tel que .vim/after/ftplugin/markdown.vim
.
Pour les tirets en / em, respectivement:
inoremap <buffer> --<space> –<space>
inoremap <buffer> -- —
NB <buffer>
: Cela signifie que ce mappage ne s'appliquera qu'aux fichiers Markdown. Cela est nécessaire car il existe des contextes (par exemple, la programmation) dans lesquels je ne souhaite pas que deux traits d'union soient remplacés par des tirets.
Ces mappages tirent parti du fait que, dans les contextes que je les utilise habituellement, les tirets sont entourés d'espaces et les tirets im ne le sont pas . * Utiliser ces correspondances signifie donc que je peux utiliser exactement les mêmes pressions de touche dans les éditeurs de texte moins performants que je suis parfois obligé d'utiliser tout en obtenant une sortie raisonnable. **
J'utilise en fait une solution légèrement plus compliquée que la précédente, car, pour des raisons typographiques, j'aime entourer mes traits d'un cheveu . Leur présence dans le Markdown le rend moins lisible, mais heureusement, Vim a une solution à cela, avec sa fonction "masquer", qui vous permet de masquer certains éléments de syntaxe lorsque le curseur est sur une autre ligne: ***
inoremap <buffer> --<space> –<space>
inoremap <buffer> --  — 
syntax match entity_hairspace " " conceal
setl conceallevel=2
* Si j'ai besoin d'utiliser un tiret en espacement, je peux simplement appuyer sur la touche Retour après avoir tapé le mappage.
** Si vous n'utilisez généralement pas les tirets comme celui-ci, ou si vous ne vous aventurez jamais hors de Vim, vous pouvez utiliser autre chose pour déclencher les mappages: par exemple, --.
et ---
. Si vous utilisez d'autres déclencheurs, vous pouvez également le placer directement dans votre fichier .vimrc et supprimer les <buffer>
options.
*** Vous pouvez également utiliser un caractère dissimulé cchar
pour remplacer des éléments de syntaxe par un seul caractère, au lieu de les masquer entièrement. Si vous êtes préoccupé par des problèmes d'encodage, vous pouvez l'utiliser pour que Vim affiche –
les entités HTML dans le fichier sous forme de tirets.