繁体   English   中英

将多个命令映射到Vim中的同一键

[英]Map several commands to the same key in Vim

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

例如,我想将两个不同的函数映射到enter键-一个在前一行的最后一个字符是大括号的情况下执行某些操作,另一个在前一行的最后一个字符是~执行某些操作。 但是我希望它们具有两个独立的功能。

这可能吗?

PS我也将愿意寻求一种解决方案,使我可以在映射回车key一个函数内调用任何其他映射(如果未成功)。

(这应该是评论,但恐怕太长了)

因此,通常,您希望将该键映射到对函数的调用。 您无法将其映射到两件事,因此只需将其映射到一个函数,然后在其中一个函数中执行其他两个函数-如果上一行的最后一个字符是空格,则一个函数将执行某些操作,如果执行则将另一个函数执行前一行的最后一个字符是波浪号。

或者,您可以使用映射函数检查上一行中的最后一个字符是什么,然后根据特定字符是什么,执行-做某事的函数。

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


注释后编辑:嗯,这里不做详细说明,但是插件通常只是函数。 Vim没有子例程,只有几个“类型”的函数。 插件仅仅是映射到某些键的功能。

现在,我不使用SuperTab插件(听说过,但仅此而已),但是如果您随意使用它,则应该能够先找出映射到的键是什么(函数名是什么)从那里开始,特定功能的作用是什么。 它需要什么参数,等等...

从那里开始,只有一个问题,那就是找出如何创建一个包装器功能来测试先前的字符,然后基于该包装器功能执行该插件功能,或者您打算执行的其他操作。

不确定您通过“通用方式”提出了什么。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM