2

Из команды:help, в разделе сопоставления клавиш:

Если первым аргументом одной из этих команд является <buffer> отображение будет эффективным только в текущем буфере.

Я не понимаю это определение. Разве все команды не применяются к буферу, над которым вы работаете? В нем также упоминается, что вы можете использовать этот <buffer> для сопоставления одной и той же комбинации клавиш с разными командами в разных буферах. Исходя из этого, я думаю, что вы использовали бы это, если бы вы хотели отобразить что-то, когда вы работаете с файлом, чтобы это не повлияло на другие буферы? Я не совсем понимаю.

Чтобы дать конкретный пример того, откуда я пришел, ниже приведено сопоставление для запуска сценария Python с F9, которое я нашел в Stack Overflow. Я спрашиваю, что такое использование <buffer> , так как отображение, казалось, прекрасно работает без него:

autocmd FileType python nnoremap <buffer> <F9> :!clear;python %<cr>

1 ответ1

1

Это означает, что отображение существует только в буфере, где оно было определено. Если вы переключаетесь на другой буфер (файл), отображение там не работает (не существует).

Одним из примеров того, почему это полезно, являются сопоставления, которые полезны только для определенных типов файлов (в этом примере, файлов Python).

Обычно эти сопоставления определяются в filetype plugin который получает каждый раз при загрузке нового буфера этого типа файла.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .