将几个命令映射到Vim中的相同键

时间:2012-05-17 20:33:34

标签: editor vim

我想将一些不同的函数映射到Vim中的一个键,并让它们一个接一个地发生。

例如,我想将两个不同的函数映射到enter键 - 如果前一行的最后一个字符是大括号,则执行某个操作,另一个在最后一个字符处执行操作上一行是~。但我希望这些功能分为两个部分。

这可能吗?

P.S。我也愿意寻求一种解决方案,让我在映射输入key的一个函数中,如果不成功则调用任何其他映射。

1 个答案:

答案 0 :(得分:4)

(这应该是评论,但我担心这会太长)

通常,您希望将该键映射到对函数的调用。你不能将它映射到两个东西,所以只需将它映射到一个函数,并在那个函数内,执行另外两个函数 - 如果前一行的最后一个字符是空格,则执行另一个函数,另一个函数执行上一行的最后一个字符是波浪号。

或者您可以使用映射函数来检查上一行中的最后一个字符,然后执行 - 执行某些操作的函数 - 具体取决于该特定字符是什么。

我真的没有什么可以继续在这里了,所以我要留下它: - /


评论后编辑: 好吧,不要在这里详细介绍,但插件通常只是功能。 Vim没有子程序,只有几种“类型”的函数。插件只是映射到某些键的函数。

现在,我不使用SuperTab插件(听说过它,但就是这样)但是如果你去逛逛它,你应该能够先找到,映射到的键是什么(什么是函数名称)并从那里,该特定函数做什么。它需要什么样的论据等等......

从那里开始,这只是一个问题,即找出如何创建一个包装函数,它将测试上一个字符,并根据该函数执行该插件函数,或者一个你心中想要做的事情。

不确定你用“通用方式”做什么。