Почему двоеточие имеет значение при переназначении vim?

#vim

#vim

Вопрос:

В чем разница между этими двумя переназначениями?

 nnoremap ZZ :echo "Your Caps-lock is on."<cr>
nnoremap ZZ echo "Your Caps-lock is on."<cr>
 

Первое отображает сообщение в командной области, второе печатает сообщение в буфер. Что происходит?

Ответ №1:

Двоеточие переключает vim в режим командной строки. Смотрите: http://vimdoc.sourceforge.net/htmldoc/intro.html#mode-switching

Комментарии:

1. Конечно. Второй пример интерпретирует то, что я набираю e c h o буквально в обычном режиме, но цвет переключается в командный режим. Спасибо.

2. Когда я пытаюсь воспроизвести, он ведет себя так, как я и ожидал: ‘e’ идет в конец слова, ‘c’ ‘h’ меняет один символ влево на ‘o’, затем вставляются предложение и новая строка.