在VIM中,如何在满足正则表达式之前删除所有行?

我确信这已经得到了解答,但对谷歌来说查询有点过于复杂.

简而言之,我试图从一些代码中删除许多弃用的方法.所以我正在浏览文件,当我看到一个我想删除的方法时,我将删除每一行,直到我看到一行以tab开头,然后是字符串“def”.

我在想VIM应该让我创建一个简单的宏来做到这一点,但诀窍是逃避我.

这是我想删除的东西.

def Method_to_Delete(self):
    """


    @return Control ID :
    @author
    """
    results = {}
    results['xx'] = "thingy"
    results['yy'] = 'thingy2'
    return results

def Method_to_Keep(self):
    """
     This is a method that does something wonderful!!!

    @return Control ID :
    @author
    """
    results = {}
    results['xxx'] = "WhooHoo!"
    results['yyy'] = 'yippee!!'
    return results

我希望将光标放在“def Method_to_Delete”的行上并做一些将删除但不包括“def Method_to_Keep”的内容

必须有比多个“dd”命令更好的方法.

Vim搜索实际上是文本对象!这意味着您可以简单地:
d/\s*def

然后,只需重复命令.如预期的.

相关文章

解决方案:解决linux下vim乱码的情况:(修改vimrc的内容)全...
Linuxvi/vim所有的UnixLike系统都会内建vi文书编辑器,其他的...
      vim正则匹配:空行:/^$/  /^[\t]*$/注释...
$select-editorSelectaneditor.Tochangelater,run'sele...
上次手贱忘了保存,这次就简单做个备忘吧,把踩过的坑记一下...
Linux之文本编译器小结vim的优势所有的UNIX-LIKE习通都会内置...