A maneira padrão de inserir um traço no Vim é usar um dígrafo, como o tommcdo explicou .
No entanto, acho dígrafos em geral, e particularmente este ( Ctrl+k, -, Shift+N) muito estranho para digitar. Para entrada mais rápida de traços, você pode adicionar o seguinte par de mapeamentos no modo de inserção a um arquivo de tipo de arquivo, como .vim/after/ftplugin/markdown.vim
.
Para traços en / em, respectivamente:
inoremap <buffer> --<space> –<space>
inoremap <buffer> -- —
NB Os <buffer>
meios que esse mapeamento se aplica somente aos arquivos Markdown. Isso é necessário porque existem alguns contextos (por exemplo, programação) em que não quero que dois hífens sejam substituídos por hífens.
Esses mapeamentos aproveitam o fato de que, nos contextos que eu normalmente os uso, traços são cercados por espaços e traços não . * Portanto, usar esses mapeamentos significa que eu posso usar exatamente as mesmas teclas pressionadas nos editores de texto menos capazes que às vezes sou forçado a usar e ainda assim obter uma saída sensata. **
Na verdade, uso uma solução um pouco mais complicada do que a anterior, porque, por razões tipográficas, gosto de cercar meus traços com espaços para os cabelos . Ter esses itens no Markdown torna menos legível, mas, felizmente, o Vim tem uma solução para isso, com sua função "ocultar", que permite ocultar certos itens de sintaxe quando o cursor está em uma linha diferente: ***
inoremap <buffer> --<space> –<space>
inoremap <buffer> --  — 
syntax match entity_hairspace " " conceal
setl conceallevel=2
* Se eu precisar usar um traço sem espaçamento, basta pressionar o backspace após digitar o mapeamento.
** Se você geralmente não usa hífens como este, ou se nunca se aventura no Vim, pode usar outra coisa para acionar os mapeamentos: por exemplo, --.
e ---
. Se você usar outros gatilhos, também poderá colocá-lo diretamente no seu .vimrc e remover as <buffer>
opções.
*** Você também pode usar um caractere cchar
oculto para substituir itens de sintaxe por um único caractere, em vez de ocultá- los completamente. Se você estiver preocupado com problemas de codificação, use-o para fazer com que o Vim exiba –
entidades HTML no arquivo como traços.