2010-01-01 2 views
8

Команды аббревиатуры и карты, как представляется, предоставляют пользователю избыточную функциональность. :imap teh the, похоже, выполняет ту же работу, что и :iabbr teh the. Я стараюсь сделать все свои настройки в :map командами различных типов - все от типовых исправлений до однострочных сценариев.Когда использовать: abbr vs.: map in vi/vim

Есть ли реальная разница между картами и сокращениями? Какая команда лучше всего подходит для какой работы?

+0

см. Также: http://stackoverflow.com/questions/3776117/what-is-the-difference-between-the-remap-noremap-nnoremap-and-vnoremap-mapping – dreftymac

ответ

10

Наибольшая разница в этом конкретном случае заключается в том, что iabbr изменит текст только после нажатия пробела и покажет каждый символ на экране по мере ввода. Напротив, imap задерживает отображение всех символов в teh, пока карта не будет разрешена так или иначе. Я бы рекомендовал iabbr в этом случае - вы увидите, что символы появляются по мере ввода, слова, начинающиеся с аббревиатуры, будут обрабатываться правильно, и (особенно) вы не получите раздражающей задержки для всех слов, начинающихся с t ,

+1

Пространство не является единственным ключом, который запускает расширение. Любой символ без ключевого слова имеет тот же эффект. –

+1

Я вижу. Я использую ': imap jj ' и теперь замечаю задержку, когда начинаю любое слово с 'j'. Это действительно просто визуальная вещь? видя макрос в процессе, а не видя его? – user17925