3

如何让 vim 函数等待单次按键?

例子:

  • 创建一个函数 NextOccur,该函数映射为在f按下键时执行
  • f按下时没有任何帮助
  • 在按下下一个键(比如说x)后,光标应该移动到下一个x

PS:是的,我知道这正是f默认情况下所做的(尽管它只是逐行),但我想知道我们是否可以自己实现这样的功能

如果我想等待接下来的两个按键怎么办,这也可能吗?

4

1 回答 1

5

您可以使用内置getchar()功能。它等待一个按键然后返回它。对于一个普通的 8 位字符,你必须使用nr2char(getchar())它来将其转换为字符串。

您似乎也想扩展f/t命令以涵盖多行。请注意,已经有插件可以做到这一点,例如ft_improved

于 2012-12-22T01:51:13.140 回答