Как объяснил tommcdo, стандартный способ вставки черты en в Dim - использование орграфа .
Тем не менее, я считаю диграфов в целом, и в частности , это один ( Ctrl+k, -, Shift+N) довольно неудобно набирать. Для более быстрого ввода тире можно добавить следующую пару сопоставлений режима вставки в файл типа файла, например .vim/after/ftplugin/markdown.vim
.
Для тире en / em соответственно:
inoremap <buffer> --<space> –<space>
inoremap <buffer> -- —
NB <buffer>
означает, что это сопоставление будет применяться только к файлам Markdown. Это необходимо, потому что есть некоторые контексты (например, программирование), где я не хочу, чтобы два дефиса были заменены тире.
Эти отображения используют тот факт, что в тех случаях, когда я их обычно использую, все тире окружены пробелами, а тире нет . * Использование этих сопоставлений, следовательно, означает, что я могу использовать точно такие же нажатия клавиш в менее способных текстовых редакторах, которые я иногда вынужден использовать, и все же получаю разумный вывод. **
На самом деле я использую немного более сложное решение, чем приведенное выше, потому что по типографским причинам мне нравится окружать мои штрихи волосами . Наличие их в Markdown делает его менее читабельным, но, к счастью, у Vim есть решение для этого с его функцией «скрытия», которая позволяет скрывать определенные элементы синтаксиса, когда курсор находится на другой строке: ***
inoremap <buffer> --<space> –<space>
inoremap <buffer> --  — 
syntax match entity_hairspace " " conceal
setl conceallevel=2
* Если мне когда-либо понадобится использовать пробел без пробелов, то я могу просто нажать клавишу Backspace после ввода сопоставления.
** Если вы обычно не пользуетесь такими черточками, как это, или если вы никогда не выходите из Vim, вы можете использовать что-то еще для запуска отображений: например, --.
и ---
. Если вы используете другие триггеры, вы также можете поместить это прямо в ваш .vimrc и удалить <buffer>
опции.
*** Вы также можете использовать скрытый символ, cchar
чтобы заменить элементы синтаксиса одним символом, вместо того, чтобы скрывать их полностью. Если вы беспокоитесь о проблемах кодирования, вы можете использовать это, чтобы Vim отображал –
HTML-объекты в файле в виде черточек.