Я хочу использовать Ctrl-E to scroll несколько (здесь 10) строк вниз. Я хочу это в обычном exec "norm! ...
картографирования как такCtrl-E в строке Vimscript в строке `exec '!" ... `
nnoremap <leader>e :<C-U>exec "norm! 10\<C-E>"<CR>
nnoremap <leader>y :<C-U>exec "norm! 10\<C-Y>"<CR>
Если нажать <leader>y
все работает, как ожидалось (я перечисляю 10 строк вверх). Но если я нажимаю <leader>e
я получаю следующее сообщение об ошибке (и ожидается его прокручивать 10 строк вниз):
E114: Missing quote: "norm! 10\"
E15: Invalid expression: "norm! 10\"
Press ENTER or type command to continue
Кто-нибудь знает, как я могу это исправить?
Редактировать: Причина, по которой я строю строку и выполняю ее, заключается в том, что я могу рассчитать количество строк, прокручиваемых выражением (здесь f()
).
nnoremap <leader>e :<C-U>exec "norm! ". f() ." \<C-E>"<CR>
Почему не 'nnoremap е 10 '? –
romainl
@romainl Хорошая точка. Я отредактировал сообщение, чтобы подумать, что я действительно хочу большего. Я собирался сделать отдельный вопрос с реальной проблемой, с которой я столкнулся. (Не уверен. Вот как я должен это делать, и меня все еще интересует этот точный вопрос) – rappj