尝试在我自己的类函数上使用Python Omni Completion时,我得到了一些意想不到的结果。函数的文档字符串的格式不正确,换行符如下图所示:
当我从标准 python 库中导入模块时,我得到了我期望的结果:
根据 python文档字符串约定,源文件中的换行符应被解释为换行符。有谁知道这里发生了什么以及如何解决这个问题?
尝试在我自己的类函数上使用Python Omni Completion时,我得到了一些意想不到的结果。函数的文档字符串的格式不正确,换行符如下图所示:
当我从标准 python 库中导入模块时,我得到了我期望的结果:
根据 python文档字符串约定,源文件中的换行符应被解释为换行符。有谁知道这里发生了什么以及如何解决这个问题?
编辑:我写了一个自动补全,它应该比 pythoncomplete 好得多:https ://github.com/davidhalter/jedi-vim
Python Omni Completion
vim 非常愚蠢。这是一个解析当前文件和imports
所有其他文件的简单脚本。这是非常危险的,不应该这样做。但是它的效果还不错(但也不是很好)。
因此,您的两种情况之间的真正区别在于,正在导入标准库。您的文件也是如此,但不是当前文件。如果您使用了名为test2
并使用的第二个模块:
import test
test.mydoc.prettyStr
它应该工作。
您当前的文件正在被解析。解析器很简单,而且不是很好。由于这一行(行号 ~290),dostring 解析器特别奇怪:
docstr = docstr.replace('\n', ' ')
您可以修改它 - 只需更改此文件:
/usr/share/vim/vim73/autoload/pythoncomplete.vim
也许它位于不同的目录中。
目前我正在为 python/vi 编写更好的自动补全(这也是我知道这一点的原因)。但这仍然是一些工作。我希望我能在一个月内准备好测试版。我尽量让你知道。