Standardowym sposobem wstawiania kreski w Vim jest użycie digrafa , jak wyjaśnił tommcdo .
Jednak uważam, digrafy w ogóle, a szczególnie ten jeden ( Ctrl+k, -, Shift+N) dość niewygodne do pisania. Aby przyspieszyć wprowadzanie myślników, możesz dodać następującą parę mapowań w trybie wstawiania do pliku typu pliku, na przykład.vim/after/ftplugin/markdown.vim
.
Odpowiednio dla myślników en / em:
inoremap <buffer> --<space> –<space>
inoremap <buffer> -- —
Uwaga: <buffer>
Oznacza to, że mapowanie będzie miało zastosowanie tylko do plików Markdown. Jest to konieczne, ponieważ istnieją pewne konteksty (np. Programowanie), w których nie chcę, aby dwa myślniki były zastępowane myślnikami.
Te mapowania wykorzystują fakt, że w kontekstach zwykle ich używam, myślniki są otoczone spacjami, a myślniki nie . * Używanie tych mapowań oznacza zatem, że mogę używać dokładnie tych samych naciśnięć klawiszy w mniej wydajnych edytorach tekstu, których czasami jestem zmuszony używać i nadal otrzymuję rozsądne wyniki. **
Właściwie używam nieco bardziej skomplikowanego rozwiązania niż powyższe, ponieważ z powodów typograficznych lubię otaczać moje kreski przedziałami włosów . Umieszczenie ich w Markdown sprawia, że jest mniej czytelny, ale na szczęście Vim ma na to rozwiązanie, dzięki funkcji „ukrywania”, która pozwala ukryć pewne elementy składniowe, gdy kursor znajduje się w innej linii: ***
inoremap <buffer> --<space> –<space>
inoremap <buffer> --  — 
syntax match entity_hairspace " " conceal
setl conceallevel=2
* Jeśli kiedykolwiek będę musiał użyć nieskreślonej kreski en, mogę po prostu nacisnąć backspace po wpisaniu mapowania.
** Jeśli nie zazwyczaj używają en-kreski tak, lub jeśli nie zawsze wychodzić z vim, można użyć coś innego, aby wywołać mapowania: Np --.
i ---
. Jeśli używasz innych wyzwalaczy, możesz również umieścić to bezpośrednio w .vimrc i usunąć <buffer>
opcje.
*** Możesz również użyć znaku ukrywania, cchar
aby zastąpić elementy składniowe jednym znakiem, zamiast całkowicie je ukrywać. Jeśli martwisz się problemami z kodowaniem, możesz użyć tego, aby Vim wyświetlał –
encje HTML w pliku jako myślniki.