**导入之前找到包含的包或模块**

时间:2014-04-09 18:57:09

标签: python vim import

我经常发现自己需要导入一些东西,但不完全确定它的完全限定名称。我通常最终打开一个浏览器,执行像python [target_of_import]这样的互联网搜索,并扫描一两页,直到找到它。

这样可行,但在我的工作流程中会导致相对较长的中断,特别是如果我必须连续搜索几个。其他人如何解决这个问题?

是否有类似Haskell的Hoogle用于Python?

[注意:我目前使用vim,以防任何人建议使用基于IDE的解决方案。]

编辑:有关自动填充的答案,请注明。一般来说,自动完成可能是一个非首发解决方案,因为在特殊情况下我要求自动完成的字符串最左边的字符是未知的。

编辑2:虽然我不会明确排除有关切换到/学习新IDE的建议,但我不太可能完全改变我的工作方式(例如,从命令行上的vim切换到类似Eclipse +插件的东西。

1 个答案:

答案 0 :(得分:1)

您可以使用Unite.vim

在vim中执行此操作

通过将以下内容添加到.vimrc

来启用模糊文件搜索
call unite#filters#matcher_default#use(['matcher_fuzzy'])

搜索文件:

:UniteWithInput file_rec/async:/base/path:!<cr>

在文件中搜索:

:UniteWithInut grep:/base/path<cr>

搜索文件名和文件

:UniteWithInput file_rec/async:/base/path:! grep:/base/path<cr>

(用于更改来源之间)

另见:h :UniteWithCursorWord

这将打开文件匹配的缓冲区。您可以按Enter键打开文件,但由于您只想复制文件名,只需使用y$来划线,q关闭缓冲区,p粘贴拉线