La forma estándar de insertar un guión en Vim es usar un dígrafo, como explicó tommcdo .
Sin embargo, encuentro dígrafos en general, y en particular este ( Ctrl+k, -, Shift+N) bastante incómoda de escribir. Para una entrada más rápida de guiones, puede agregar el siguiente par de asignaciones de modo de inserción a un archivo de tipo de archivo, como .vim/after/ftplugin/markdown.vim
.
Para guiones en / em, respectivamente:
inoremap <buffer> --<space> –<space>
inoremap <buffer> -- —
Nota: los <buffer>
medios de esta asignación solo se aplicarán a los archivos Markdown. Esto es necesario porque hay algunos contextos (por ejemplo, programación) donde no quiero que dos guiones sean reemplazados por guiones.
Estos mapeos aprovechan el hecho de que en los contextos que los uso habitualmente, los guiones están rodeados de espacios y los guiones no . * Por lo tanto, el uso de estas asignaciones significa que puedo usar exactamente las mismas pulsaciones de teclas en los editores de texto menos capaces que a veces me veo obligado a usar y aún así obtener un resultado razonable. ** **
De hecho, uso una solución un poco más complicada que la anterior, porque, por razones tipográficas, me gusta rodear mis guiones con espacios para el cabello . Tenerlos en el Markdown lo hace menos legible, pero afortunadamente, Vim tiene una solución para esto, con su función "ocultar", que le permite ocultar ciertos elementos de sintaxis cuando el cursor está en una línea diferente: ***
inoremap <buffer> --<space> –<space>
inoremap <buffer> --  — 
syntax match entity_hairspace " " conceal
setl conceallevel=2
* Si alguna vez necesito usar un guión sin espacio, entonces simplemente puedo presionar la tecla de retroceso después de escribir el mapeo.
** Si generalmente no usa guiones como este, o si nunca se aventura fuera de Vim, podría usar algo más para activar las asignaciones: por ejemplo, --.
y ---
. Si usa otros desencadenantes, también puede colocar esto directamente en su .vimrc y eliminar las <buffer>
opciones.
*** También puede usar un carácter cchar
oculto para reemplazar elementos de sintaxis con un solo carácter, en lugar de ocultarlos por completo. Si le preocupan los problemas de codificación, puede usar esto para que Vim muestre –
entidades HTML en el archivo como guiones.