【问题标题】:How to map numerical/alphabetical ranges in Vim?如何在 Vim 中映射数字/字母范围?
【发布时间】:2018-02-13 21:53:36
【问题描述】:

我想在我的 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-9}-{0-9} 映射到 {0-9} - {0-9}
  • 如何映射范围?有 Vim 符号吗?
  • 这是我的意思,你不能在 vim 中映射一个范围。您可能可以通过其他方式获得相同的功能,但您需要准确描述您正在尝试做什么。你应该edit你的问题并仔细解释你想要发生的事情。
  • 请立即查看。 :-)

标签: vim macvim


【解决方案1】:
for n in range(0, 9)
    execute "inoremap " . n . "-" . n . " " . n . " - " . n
endfor

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

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

但我会尝试改进我的打字而不是依赖变通方法。

【讨论】:

  • 这仅适用于相同的数字。以下工作虽然。 for a in range(0, 9) for b in range(0, 9) execute "inoremap " . a . "-" . b . " " . a . " - " . b endfor endfor
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-14
相关资源
最近更新 更多