在vim中,对virtualenv中的定义进行模糊搜索并创建import语句

时间:2013-02-26 13:30:37

标签: vim virtualenv exuberant-ctags

所以我正在寻找一个可以执行以下操作的vim插件:

执行时,打开当前使用的virtualenv中所有模块中定义的所有名称的列表,可能来自已使用ctags创建的标记文件。

让用户通过FuzzyFinder样式的控件限制列表,并且它应该匹配文件路径和定义。

因此,如果搜索字符串User提供了一组结果

User         django/contrib/auth/models.py
UserAdmin    django/contrib/auth/admin.py  

搜索字符串User;models会将其限制为仅限于第一行

当找到所需的定义时,将name插入当前缓冲区并将相应的import语句添加到文件的顶部。

1 个答案:

答案 0 :(得分:2)

使用内置的taglist()函数,您可以访问标记数据库(因此您不需要自己解析文件),并且FuzzyFinder允许通过{重复使用其精美的向下钻取逻辑{1}};我自己用它来进行自定义搜索。您可以将这两个部分组合在一起fuf#callbackitem#launch()。插入所选项目及其导入也只是几个map():normal来电。瞧!