标签: jedi-vim

jedi-vim是否与YouCompleteMe发生冲突?

YouCompleteMe(YCM)和jedi-vim是两个提供自动完成功能的vim插件,两者都在下面使用jedi进行Python.然而,除了文档之外,jedi-vim还提供了一些有用的功能,比如'go to definition'和'view docstring',而YouCompleteMe可以与其他语言一起使用.

由于两者都提供Python自动完成功能,是否需要任何特殊配置来防止两个插件发生冲突?或者jedi-vim的自动填充器会简单地覆盖Python中的YCM吗?

python vim jedi-vim

17
推荐指数
1
解决办法
5567
查看次数

vim-jedi自动完成无法正常工作

我刚刚用vundle 安装了jedi-vim我的vim版本是7.3.429.我安装了jedi vi pip

每次我打.<C-Space>我得到这个错误.

Omni completion (^O^N^P) Pattern not found
Run Code Online (Sandbox Code Playgroud)

当我在这里搜索这个模式时,我找到了一个使用vim-jedi的解决方案.但不幸的是,这与jedi-vim有关.

以下是一些寄存器的输出:

:set omnifunc

omnifunc=jedi#complete


:messages

Messages maintainer: Bram Moolenaar <Bram@vim.org>
"models.py" 31L, 1052C
<emptyline>
Run Code Online (Sandbox Code Playgroud)

python vim jedi-vim

11
推荐指数
2
解决办法
8859
查看次数

jedi-vim omni完成与非标准库

我阅读了jedi-vim的自述文件. https://github.com/davidhalter/jedi

使用非标准库(Django)完成omni的屏幕截图.

我通过pip安装了django并尝试完全相同的代码来测试Django的全向完成,但它不起作用.

Omni completion (^O^N^P) Pattern not found.
Run Code Online (Sandbox Code Playgroud)

标准图书馆的全方位完成工作非常完美.

我通常使用一些非标准库,所以我想对这些库使用omni完成.

我应该进行一些配置以使用非标准库进行全向完成吗?

python vim jedi-vim

8
推荐指数
1
解决办法
3331
查看次数

无法获得jedi-vim插件

我正在尝试使用jedi-vim插件进行Python自动完成,但我无法让它工作.

我有Vim 7.3,这就是我做的:

1-克隆代码

git clone http://github.com/davidhalter/jedi-vim path/to/bundles/jedi-vim
Run Code Online (Sandbox Code Playgroud)

2-复制jedi-vim/plugin/jedi.vim~/.vim/plugin/

3-复制jedi-vim/doc/jedi-vim.txt~/.vim/doc/

现在当我打开vim时,进入插入模式并输入

import wave
wave.
Run Code Online (Sandbox Code Playgroud)

没有任何反应,虽然文档指定Autocompletion is also triggered by typing a period in insert mode,如果我尝试<Ctrl-Space>我得到以下错误

E29: No inserted text yet
Press ENTER or type command to continue
Run Code Online (Sandbox Code Playgroud)

我检查过:map,似乎<Ctrl-Space>没有使用:

n  [m          *@:call <SNR>21_Python_jump('?^\s*\(class\|def\)')<CR>
n  [[          *@:call <SNR>21_Python_jump('?^\(class\|def\)')<CR>
n  ]m          *@:call <SNR>21_Python_jump('/^\s*\(class\|def\)')<CR>
n  ]]          *@:call <SNR>21_Python_jump('/^\(class\|def\)')<CR>
n  gx            <Plug>NetrwBrowseX
n  <Plug>NetrwBrowseX * :call netrw#NetrwBrowseX(expand("<cWORD>"),0)<CR>
Run Code Online (Sandbox Code Playgroud)

由于我使用错误<Ctrl-Space> …

vim python-jedi jedi-vim

7
推荐指数
4
解决办法
1万
查看次数

jedi-vim如何跳转到其他文件中的函数定义

我是新手jedi-vim,我不知道如何在其他文件中跳转函数的定义.

jedi-vim文件是:

以下是其中的一部分:

注意:可能会有变化!

让g:jedi#goto_command ="< leader > d"

让g:jedi#goto_assignments_command ="< leader > g"

让g:jedi#goto_definitions_command =""

让g:jedi#documentation_command ="K"

让g:jedi#usages_command ="< leader > n"

让g:jedi#completions_command ="< C-Space >"

让g:jedi#rename_command ="< leader > r"

我想知道是什么<leader><C-Space>意思以及如何在VIM上使用这些命令

vim jedi-vim

7
推荐指数
1
解决办法
2863
查看次数

如何检查SuperTab和jedi-vim是否被激活?

正如标题所述,我如何检查插件是否已加载?

当我点击tab(对于SuperTab)时,我得到的是在我的文件中插入的普通字符"tab",当我点击ctrl-space时,我只是被抛出插入模式(与点击ESC的行为相同)

vim supertab jedi-vim

5
推荐指数
1
解决办法
1643
查看次数

Vim supertab和jedi-vim

发布作为后续如何检查SuperTab和jedi-vim是否被激活?并完成了Ingo Karkat提出的建议.现在我想知道什么是破碎的以及我如何解决它.

这是输出:

:verbose imap <tab>
i  <Tab>         <Plug>SuperTabForward
    Last set from ~/.vim/bundle/supertab/plugin/supertab.vim
Run Code Online (Sandbox Code Playgroud)

哪个看起来对我好,并且......

:scriptnames
  1: /etc/vimrc
  2: /usr/share/vim/vim72/syntax/syntax.vim
  3: /usr/share/vim/vim72/syntax/synload.vim
  4: /usr/share/vim/vim72/syntax/syncolor.vim
  5: /usr/share/vim/vim72/filetype.vim
  6: /usr/share/vim/vimfiles/ftdetect/puppet.vim
  7: /usr/share/vim/vim72/ftplugin.vim
  8: /home/johannesw/.vimrc
  9: /usr/share/vim/vim72/ftoff.vim
 10: /home/johannesw/.vim/bundle/vundle/autoload/vundle.vim
 11: /home/johannesw/.vim/bundle/vundle/autoload/vundle/config.vim
 12: /usr/share/vim/vim72/indent.vim
 13: /usr/share/vim/vim72/syntax/nosyntax.vim
 14: /home/johannesw/.vim/bundle/vim-fugitive/plugin/fugitive.vim
 15: /home/johannesw/.vim/bundle/vim-easymotion/plugin/EasyMotion.vim
 16: /home/johannesw/.vim/bundle/vim-easymotion/autoload/EasyMotion.vim
 17: /home/johannesw/.vim/bundle/vim-rails/plugin/rails.vim
 18: /home/johannesw/.vim/bundle/L9/plugin/l9.vim
 19: /home/johannesw/.vim/bundle/L9/autoload/l9.vim
 20: /home/johannesw/.vim/bundle/FuzzyFinder/plugin/fuf.vim
 21: /home/johannesw/.vim/bundle/FuzzyFinder/autoload/fuf.vim
 22: /home/johannesw/.vim/bundle/FuzzyFinder/autoload/fuf/buffer.vim
 23: /home/johannesw/.vim/bundle/FuzzyFinder/autoload/fuf/file.vim
 24: /home/johannesw/.vim/bundle/FuzzyFinder/autoload/fuf/coveragefile.vim
 25: /home/johannesw/.vim/bundle/FuzzyFinder/autoload/fuf/dir.vim
 26: /home/johannesw/.vim/bundle/FuzzyFinder/autoload/fuf/bookmarkfile.vim
 27: /home/johannesw/.vim/bundle/FuzzyFinder/autoload/fuf/bookmarkdir.vim
 28: /home/johannesw/.vim/bundle/FuzzyFinder/autoload/fuf/tag.vim
 29: /home/johannesw/.vim/bundle/FuzzyFinder/autoload/fuf/buffertag.vim
 30: /home/johannesw/.vim/bundle/FuzzyFinder/autoload/fuf/taggedfile.vim
 31: /home/johannesw/.vim/bundle/FuzzyFinder/autoload/fuf/jumplist.vim
 32: …
Run Code Online (Sandbox Code Playgroud)

vim plugins supertab python-jedi jedi-vim

5
推荐指数
1
解决办法
5423
查看次数

jedi-vim在使用goto赋值/定义跳转后返回旧位置

我使用vim与jedi/ jedi-vim当我开发Python代码,我使用广泛<Leader>d(转到定义)和/或<Leader>g(转到分配).我可以使用''返回跳转前的行,但只能在同一个文件中.

有没有办法在不同文件之间跳转时有相同的行为?

vim jedi-vim

4
推荐指数
1
解决办法
535
查看次数

Vim临时窗口的位置

我正在尝试Vim插件Jedi-vim,它会在自动完成时打开一个预览窗口,并在完成时关闭.这可能导致光标和代码在物理LCD屏幕中的位置跳跃,这让我的眼睛不舒服.我可以选择将此窗口打开,但我更喜欢拥有更大的屏幕空间.有没有办法将预览窗口移动到底部,或者使用垂直分割?

vim vim-plugin jedi-vim

2
推荐指数
1
解决办法
2242
查看次数

Python 3.6.8 - Jedi - ImportError:无法导入名称“traverse_parents”

<TL;DR>

import jedi在 python 3.6.8 中运行时,我收到以下导入错误(完整回溯见帖子末尾):

...
from jedi.common import traverse_parents
ImportError: cannot import name 'traverse_parents'
Run Code Online (Sandbox Code Playgroud)

</TL;DR>

我登记了~/.local/lib/python3.6/site-packages/jedi/common.py:有一个函数叫做traverse_parents好的,所以肯定有一些巫术在起作用。我不是第一次遇到那些“未定义名称”问题,但我对这个问题的想法已经不多了。

已经尝试过:

  • 卸载、重新安装、升级 pip3 的“绝地”包
  • 对于名称中带有“jedi”的其他几个包,几乎是相同的爵士乐
  • 将 pip3 升级到 20.2.1 并重做相同的重新安装程序
  • 为 python2 安装绝地,因为为什么不(嘿,它在 python2 中工作正常,但谁在乎)
  • 还尝试从 apt-get 安装 python-jedi(后来我删除了它)
  • 对古代巴比伦恶魔的咒语(无济于事,他们周日不工作)

关于我如何修复它的模糊线索:

  • 从 github 获取最新版本的 jedi 并以某种方式安装它而不会弄乱(机会很大)
  • 卸载绝地并从 Neovim 中重新安装它(嘿,这可能会达到上一点)

我已经在网上搜索了这个问题的答案,但一无所获。有没有人经历过类似的事情并设法解决它?

欢迎任何建议。


完整的追溯:

Error detected while processing function provider#python3#Call:
line   18:                                                                                                                             
Error invoking 'python_execute' on channel 5 (python3-script-host):
Traceback (most recent call last):
  File "<string>", line 1, in …
Run Code Online (Sandbox Code Playgroud)

python importerror python-3.x jedi-vim

1
推荐指数
1
解决办法
1630
查看次数