`exec "norm! "...` 中的 Vimscript 字符串中的 Ctrl-E
Ctrl-E in Vimscript string within `exec "norm! "...`
我想使用 Ctrl-E to scroll 一些(这里是 10)行。我希望在通常的 exec "norm! ...
映射中像这样
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 <leader>e :<C-u>exec "norm! 10<C-v><C-e>"<CR>
nnoremap <leader>y :<C-u>exec "norm! 10<C-v><C-y>"<CR>
我想使用 Ctrl-E to scroll 一些(这里是 10)行。我希望在通常的 exec "norm! ...
映射中像这样
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 <leader>e :<C-u>exec "norm! 10<C-v><C-e>"<CR>
nnoremap <leader>y :<C-u>exec "norm! 10<C-v><C-y>"<CR>