В чем смысл <cr> в конце некоторых отображений vim?
Я вижу <cr>
много в сопоставлениях vim, но что он делает?
Ответы
Ответ 1
:help key-notation
говорит:
notation meaning equivalent decimal value(s)
-----------------------------------------------------------------------
<CR> carriage return CTRL-M 13 *carriage-return*
<Return> same as <CR> *<Return>*
<Enter> same as <CR> *<Enter>*
Сопоставления часто включают команды Ex, и вы должны нажать <CR>
чтобы выполнить их, чтобы они включались в отображение.
Ответ 2
Почему <special keys>
?
Хотя вы можете использовать буквенные ключи в определениях сопоставления (клавиша Enter будет отображаться как ^M
или даже как дополнительная новая строка, в зависимости от настроек), Vim предоставляет специальную нотацию ключа для клавиш (комбинаций), так что это проще определить (вы не должны использовать i_CTRL-V
буквально вставить специальный символ) и понять (<Aa>
лучше выражает намерение, чем эквивалентное á
) отображения.
См :help key-notation
для списка и объяснения.
Почему <CR>
?
Поскольку многие сопоставления вызывают команды Ex (например :w
) и поэтому должны переключаться с обычного на режим командной строки, они должны завершить команду с помощью <Enter>
(или <CR>
), как и при ручной вводе команды,
Ответ 3
<CR>
в отображении соответствует клавише Enter, так же как a
в отображении соответствует клавише A. Лей сказал, что у вас есть это сопоставление
:map <f8> :wq<cr>
Это отобразит F8 в последовательность клавиш : W Q Enter (которая сохранит текущий буфер и закроется).
Ответ 4
<CR>
в сопоставлениях vim
- это возврат каретки, обычно Enter на клавиатуре.
Ответ 5
Это в основном означает сказать "это конец", см. Карту:
Когда у вас есть сопоставление, содержащее команду Ex, вам нужно поставить терминатор строки после него, чтобы он был выполнен. Для этого рекомендуется использовать. Пример:
:map _ls :!ls -l %<CR>:echo "the end"<CR>
также,
<CR> [count] lines downward, on the first non-blank character |linewise|.