当我在vim中映射键时,如何使用变量?我试图解决的具体问题是我需要以下这些键映射:
nnoremap <C-1> 1gt
nnoremap <C-2> 2gt
nnoremap <C-3> 3gt
... and so on.
我可以帮您进行翻译,以下为具体内容:
我能否指定一种映射方式,比如说
nnoremap <C-x> xgt
x将取被按下的键值(可以是1..9)
谢谢。
编辑1:根据Peter Rincker的建议解决方案(尚未完成)
我可以使用函数
function gotoTab(num)
execute "normal" a:num."gt"
endfunction
如果我执行:call goToTab(3)
,它会跳转到标签页 3。
我如何将 Command-x(D-x)映射到 goToTab(x),其中 x 在 1..9 之间。如何从 Command-x 按键中读取数字?
2gt
的作用。无论您在哪个选项卡上,2gt
都将始终从最左边的选项卡开始,转到第二个选项卡页。 - Ben:execute
行修改为:execute "nnoremap \<d-" . i . "> " . i . "@='gt'\<cr>"
。更多信息请参考:h @
、:h @=
,以及这个 Vimcast 的视频:Creating mappings that accept a count。 - Peter Rincker2gt
是什么意思,但是我以为for循环从当前标签页开始计数。 - Curious2learn