Python 绝地武士维姆和你有冲突吗?

Python 绝地武士维姆和你有冲突吗?,python,vim,jedi-vim,Python,Vim,Jedi Vim,YouCompleteMe(YCM)和jedi vim是两个提供自动完成功能的vim插件,它们都在Python中使用jedi。不过,两者兼备很好,因为jedi vim除了提供文档外还提供了一些有用的功能,如“转到定义”和“查看文档字符串”,而YouCompleteMe可以使用其他语言 既然两者都提供Python自动完成功能,那么是否需要任何特殊配置来防止这两个插件发生冲突?或者绝地维姆的自动补全器会简单地覆盖Python中的YCM吗?最明显的冲突是不知道您是在使用YCM还是绝地进行自动补全。在这

YouCompleteMe(YCM)和jedi vim是两个提供自动完成功能的vim插件,它们都在Python中使用jedi。不过,两者兼备很好,因为jedi vim除了提供文档外还提供了一些有用的功能,如“转到定义”和“查看文档字符串”,而YouCompleteMe可以使用其他语言


既然两者都提供Python自动完成功能,那么是否需要任何特殊配置来防止这两个插件发生冲突?或者绝地维姆的自动补全器会简单地覆盖Python中的YCM吗?

最明显的冲突是不知道您是在使用YCM还是绝地进行自动补全。在这种情况下,最简单的方法是在
.vimrc
中使用一行代码禁用绝地的自动完成功能,并在任何地方使用YCM的awesome(绝地为Python提供动力)自动完成功能

let g:jedi#completions_enabled = 0

键映射还不错。这两个插件都映射了
d
(其中
默认为
\
),但没关系,Jedi将仅在Python文件中覆盖
\d
,而Python不支持该特定的YCM功能。

两个插件同时没有实际的过期时间,但Jedi-vim可以配置为不自动执行任何操作,但只在按键上。如果两个插件的映射没有冲突,那应该没有问题。这里是绝地武士的作者,他们可能会有点冲突。但是如果你禁用某些东西(比如自动完成),它可能会工作。所以@syntonym是对的!YCM还提供了诸如“代码> GoToTebug < /代码>、<代码> GotoDOC < /代码>等功能,因此您可以完全考虑删除<代码>绝地vim < /代码>。