如何在Vim中映射数字/字母范围?

问题描述:

我想在我的Vim脚本中映射数字范围。例如这不起作用: -如何在Vim中映射数字/字母范围?

inoremap {0-9}-{0-9} {0-9}<Space>-<Space>{0-9} 

我要寻找以下行为: -

//Before mapping 
    x=x-1; 
    return -1; 
//After mapping 
    x = x - 1; 
    return -1; 
+0

我真的不明白你想要做什么,但是你不能映射这样的范围。这会将字面文本'{0-9} - {0-9}'映射到'{0-9} - {0-9}' – DJMcMayhem

+0

如何映射范围?有没有Vim符号? – ZEU5

+0

这是我的观点,你不能在vim中映射范围。您可能会以其他方式获得相同的功能,但您需要准确描述您要做的事情。你应该[编辑]你的问题,并仔细解释你想要发生的事情。 – DJMcMayhem

for n in range(0, 9) 
    execute "inoremap " . n . "-" . n . " " . n . " - " . n 
endfor 

这遍历号码列表从09,并创建一个单独的映射每个数字。

:help :for 
:help range() 
:help :execute 

但我会尝试改善我的打字而不是依靠解决方法。

+0

这只适用于相同的数字。下面的作品虽然。 (0,9) for b in range(0,9) \t执行“inoremap”。一个 。 “ - ”。 b。 “”。一个 。 “ - ”。 b endfor endfor' – ZEU5