В чем смысл <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 (которая сохранит текущий буфер и закроется).

Ответ 5

Это в основном означает сказать "это конец", см. Карту:

Когда у вас есть сопоставление, содержащее команду Ex, вам нужно поставить терминатор строки после него, чтобы он был выполнен. Для этого рекомендуется использовать. Пример:

:map _ls :!ls -l %<CR>:echo "the end"<CR>

также,

<CR>    [count] lines downward, on the first non-blank character |linewise|.