在 Vim 中,我不断发现自己希望通过击键来重写某些参数列表的其余部分。例如,在以下 Python 函数中:
def myfun(a, b=12, c=(1,2,3), d=15):
pass
我希望将 替换c=(1,2,3), d=15
为e=12
。击键ci(
允许我替换整个参数列表中的所有内容,但我发现我经常想保留一些 Vim 文本对象的前缀。一般来说,我假设我正在搜索的这个击键在替换函数调用的最终参数和定义的上下文中会很有用。
这个问题的理想答案也适用于带引号的字符串、[]
块和其他文本对象。请注意,我了解“如何在 Vim 中的括号(或引号或...)之间进行选择? ”中回答的所有有关文本对象的信息。
@pb2q 和@romainl 都提供了很好的搜索快捷方式,但它们要求我在视觉上找到封闭块的结尾,以设计一个搜索,该搜索对于块中的任何其他垃圾来说是明确的(例如,考虑嵌套函数调用)。特别是,当我在要操作的括号集中嵌套括号时,我经常发现自己想要这个。我真正想要的答案类似于ci)
或ca)
在概念上完全基于最近的封闭括号)
,并且完全优雅地处理其他嵌套)
块。