给定一个python文件与以下重复无休止:
def myFunction(a, b, c):
if a:
print b
elif c:
print 'hello'
我想移动并使用熟悉的vim动作编辑此文件。例如,使用(,),[[,]],{,}或使用像di}这样的命令删除/删除/改变文本。
在其他语言(如C,Java,C#等)中,你有大量的花括号,所以使用像di}这样的运动可以很容易地找到一个匹配的花括号,并在该块上行动。事实上,如果我在上面的文本的’b’字符,并做一个di)在vim,它成功删除两个括号之间的文本。
问题是在python的代码块的检测,我想。使用(,),[[,]],{或}作为运动,几乎做同样的事情,带你到开始(上面或在def线)或结束(在函数的最后一行)功能。并且根据我所知,没有办法容易地告诉vim“为这个缩进块选择一切”。在上面的例子中,我想在if行的’i’中输入di},并删除整个if块(到这个特定函数的末尾)。
我确定应该可以告诉vim为这样的动作基于缩进操作(好吧,也许不是那个特定的动作,但一些用户定义的动作)。任何想法如何完成这个?