是否可以在 vim 中定义自定义动作?

Spo*_*ser 4 text-editing vim

有可能吗?

我的意思是,许多 vim 命令都可以对一个动作进行操作,我可以定义一个自定义动作,以便我可以根据环境定制我的编辑吗?

我感兴趣的具体命令是gq重新格式化。我可以键入内容gqip来重新格式化段落,ip即从当前段落的开头到结尾的移动(不包括周围的空白)。

是否可以定义一个自定义移动来替换ip,以允许我在不接触周围代码的情况下重新格式化注释?这将需要类似的运动,ip但其开始或结束的条件不同。

gar*_*ohn 5

请查看这篇有关创建新文本对象的Vim Tips Wiki文章,以及这两个提供创建自定义文本对象功能的Vim 插件以及创建自定义文本对象的示例