Я хочу сопоставить :b<buffer_number><cr> с <leader>b<buffer_number> . Я имею:
nmap <leader>b :b
этого недостаточно, потому что мне все еще нужно нажать Enter. Я также попробовал:
nmap <leader>b :execute 'b' (v:count) <cr>
Я хочу сопоставить :b<buffer_number><cr> с <leader>b<buffer_number> . Я имею:
nmap <leader>b :b
этого недостаточно, потому что мне все еще нужно нажать Enter. Я также попробовал:
nmap <leader>b :execute 'b' (v:count) <cr>
Чтобы использовать [count] , вы можете определить:
nnoremap <leader>b :<C-u>execute 'b' v:count<cr>
При этом вам нужно добавить число, например 4<Leader>b , что также согласуется с другими командами Vim. <C-u> удаляет автоматически добавленный диапазон.
Проблема с конечным счетчиком заключается в определении количества цифр для запроса; Затем вам нужно либо указать все цифры (т. е. 03 вместо 3), запросить другой ключ для завершения сопоставления или дождаться тайм-аута.
Вот упрощенное отображение, которое запрашивает только одну цифру:
nnoremap <leader>b :execute 'b' nr2char(getchar())<cr>
(PS: Вы должны использовать :noremap ; это делает отображение невосприимчивым к переназначению и рекурсии.)
Уже есть [count]<C-^> (или [count]<C-6> на некоторых раскладках клавиатуры):
2<C-^>
6<C-^>
и так далее…