【问题标题】:VIM plugin for autocomplete for "from import" combination用于“从导入”组合的自动完成的 VIM 插件
【发布时间】:2018-04-29 15:41:59
【问题描述】:

我观察到 Atom 编辑器有一个非常好的功能,那就是我在使用 python 的同时输入

from XXX import 

它显示了可以从 XXX 导入的项目列表

Atom 显示可以导入的内容列表。 VIM 也可以配置为相同的吗?

有插件吗?

【问题讨论】:

    标签: python vim vim-plugin


    【解决方案1】:

    Vim 有四个可用于在 Python 中完成导入的功能:

    • :help 'include' 告诉 Vim 如何识别代码中的“包含”。 Python (^\s*\(from\|import\)) 的默认值是合理的。

    • :help 'define' 可以用来告诉 Vim 定义应该是什么样子。没有特定于 Python 的默认值,但以下是一个好的开始:

      :set define=^\\s*def
      
    • :help compl-define 让您可以使用<C-x><C-d> 完成包含在包含文件中的定义。或者您可以自定义 :help 'complete' 以包含定义并简单地使用 <C-p><C-n>

      :set complete+=d
      
    • :help 'path' 告诉 Vim 在您执行 :findgf 或包含/定义完成时在哪里查找文件。不过,要使其发挥作用,必须谨慎设置'path'

    一切都在这里并且相对容易设置,但肯定有 Python 插件可以以更智能的方式为您完成所有这些工作。

    【讨论】:

    • 您是如何在屏幕截图中看到的?这是原子显示的方式,虽然没有路径只是名称
    • 还有为什么显示popitem不是os的一部分?
    • 第一个问题:我在插入模式下按了<C-x><C-d>。第二个问题:因为它不是很聪明。
    • atom 是如何以聪明的方式做到这一点的?
    • Atom 是如何做到的,我不知道。也许它捆绑了一些 python 代码,这些代码使用自省来知道什么时候建议。这就是绝地所做的,AFAIK。
    【解决方案2】:

    原来我要找的是CTRL+空格

    在 Atom 中,这部分是自动化的,因为您甚至不必按 CTRL+空格

    【讨论】:

      【解决方案3】:

      【讨论】:

      • NeoVim 不是 nvim 吗?我的要求是VIM
      猜你喜欢
      • 2016-07-31
      • 2011-06-01
      • 2015-06-17
      • 1970-01-01
      • 2011-10-31
      • 1970-01-01
      • 1970-01-01
      • 2012-05-18
      • 2011-04-19
      相关资源
      最近更新 更多