Il modo standard di inserire un trattino in Vim è usare un digraph, come ha spiegato tommcdo .
Tuttavia, ritengo che digrafi in generale, e in particolare questo ( Ctrl+k, -, Shift+N) piuttosto scomodi da digitare. Per un input più rapido dei trattini, è possibile aggiungere la seguente coppia di mapping in modalità di inserimento a un file di tipo di file, ad esempio .vim/after/ftplugin/markdown.vim
.
Per trattini en / em, rispettivamente:
inoremap <buffer> --<space> –<space>
inoremap <buffer> -- —
NB Questo <buffer>
significa che questa mappatura si applicherà solo ai file Markdown. Questo è necessario perché ci sono alcuni contesti (es. Programmazione) in cui non voglio che due trattini vengano sostituiti con trattini.
Queste mappature sfruttano il fatto che nei contesti in cui le utilizzo abitualmente, i trattini sono circondati da spazi e non i trattini . * L' uso di questi mapping significa quindi che posso usare esattamente gli stessi tasti premuti negli editor di testo meno capaci che a volte sono costretto a usare e ottenere comunque un output sensato. **
In realtà uso una soluzione leggermente più complicata di quanto sopra, perché, per motivi tipografici, mi piace circondare i miei trattini con spazi per capelli . Avere questi nel Markdown lo rende meno leggibile, ma per fortuna, Vim ha una soluzione per questo, con la sua funzione "nascondi", che ti permette di nascondere alcuni elementi della sintassi quando il cursore si trova su una riga diversa: ***
inoremap <buffer> --<space> –<space>
inoremap <buffer> --  — 
syntax match entity_hairspace " " conceal
setl conceallevel=2
* Se mai dovessi usare un trattino senza spaziatura, allora posso semplicemente premere il backspace dopo aver digitato la mappatura.
** Se generalmente non usi i trattini come questo, o se non ti avventuri mai fuori da Vim, potresti usare qualcos'altro per innescare i mapping: eg --.
e ---
. Se usi altri trigger, puoi anche inserirlo direttamente nel tuo .vimrc e rimuovere le <buffer>
opzioni.
*** Puoi anche usare un carattere nascosto cchar
per sostituire gli elementi della sintassi con un singolo carattere, invece di nasconderli del tutto. Se sei preoccupato per i problemi di codifica, puoi usarlo per fare in modo che Vim visualizzi le –
entità HTML nel file come trattini.