所以我正在寻找一个可以执行以下操作的vim插件:
执行时,打开当前使用的virtualenv中所有模块中定义的所有名称的列表,可能来自已使用ctags创建的标记文件。
让用户通过FuzzyFinder样式的控件限制列表,并且它应该匹配文件路径和定义。
因此,如果搜索字符串User
提供了一组结果
User django/contrib/auth/models.py
UserAdmin django/contrib/auth/admin.py
搜索字符串User;models
会将其限制为仅限于第一行
当找到所需的定义时,将name插入当前缓冲区并将相应的import语句添加到文件的顶部。
答案 0 :(得分:2)
使用内置的taglist()
函数,您可以访问标记数据库(因此您不需要自己解析文件),并且FuzzyFinder允许通过{重复使用其精美的向下钻取逻辑{1}};我自己用它来进行自定义搜索。您可以将这两个部分组合在一起fuf#callbackitem#launch()
。插入所选项目及其导入也只是几个map()
或:normal
来电。瞧!