我想创建一个用于将折叠级别设置为特定数字的键绑定。 ex命令是:
:set foldlevel=n
n
是折叠级别。我想绑定<leader>z
加上一个数字来设置折叠级别。我的目标是这个调用(假设我的领导键是\
):
\z3
然后它应该调用此命令:
:set foldlevel=3
是否可以将数字包含在像这样的键绑定中?如果是这样,它是如何完成的?
答案 0 :(得分:4)
通常的方式是另一种方式,首先是[count]
。这使得处理大于一位数的数字变得容易(尽管它对于折叠级别可能不那么重要)。您可以使用v:count
特殊变量,如:
:nnoremap <silent> <Leader>z :<C-u>let &foldlevel = v:count<CR>
需要<C-u>
才能删除自动插入的范围。我使用:let
作为选项分配,但:execute
也可以使用。
答案 1 :(得分:2)
这应该这样做
for key in [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
exe "nmap <silent> <leader>" . key . " " . ":set foldlevel=" . key . "<cr>"
endfor
如果要构建动态映射,则需要使用execute
命令。如果您不熟悉vimscript,则该点代表字符串连接。