2010-01-01 5 views
8

Entrambi i comandi di abbreviazione e mappa sembrano fornire all'utente funzionalità ridondanti. :imap teh the sembra svolgere lo stesso lavoro di :iabbr teh the. Tendo a configurare tutte le mie impostazioni nei comandi :map di vario tipo, dalle correzioni di errori di battitura a quelle di script.Quando utilizzare: abbr vs.: map in vi/vim

C'è una vera differenza tra mappe e abbreviazioni? Quale comando è più adatto per quale lavoro?

+0

vedere anche: http://stackoverflow.com/questions/3776117/quello-è-differenza-della-remap-noremap-nnoremap-and-vnoremap-mapping – dreftymac

risposta

10

La più grande differenza in questo caso specifico è che iabbr cambierà il testo solo dopo aver premuto lo spazio e mostrerà ogni carattere sullo schermo durante la digitazione. Al contrario, imap ritarderà la visualizzazione di tutti i caratteri in teh finché la mappa non si sarà risolta in un modo o nell'altro. In questo caso, mi raccomando iabbr - vedrai apparire i caratteri mentre digiti, le parole che iniziano con l'abbreviazione verranno gestite correttamente e (soprattutto) non avrai un ritardo irritante per tutte le parole che iniziano con t .

+1

lo spazio non è l'unica chiave che fa scattare l'espansione. Qualsiasi carattere senza parole chiave ha lo stesso effetto. –

+1

Capisco. Io uso il ': imap jj ' e ora sto notando il ritardo quando inizio qualsiasi parola con 'j'. È davvero solo una cosa visiva? vedere la macro in corso e non vederla? – user17925