VIm omni complete不适用于python变量?

2024-09-29 02:28:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望使用omnicomplete而不是自己编写每个变量。很快,我要做一个混乱的项目,所以我需要一些帮助来寻找变量。。。我试图使用omnicomplete,但它不起作用:

您将在下面找到一些软件信息:

VIM:7.3.429-2ubuntu2.1 旺盛的ctag:5.9

我的vimrc:

set background=dark
set expandtab
set tabstop=4
set ai

au BufWinEnter * let w:m1=matchadd('ErrorMsg', '\%>80v.\+', -1)
highlight Space ctermbg=darkblue guibg=darkblue
highlight Tab ctermbg=darkgray guibg=darkgray
au BufWinEnter * let w:m2=matchadd('Tab', '\t', -1)
au BufWinEnter * let w:m3=matchadd('Space', '\s\+$\| \+\ze\t', -1)

map <F4> :TlistToggle<cr>
filetype plugin on
set omnifunc=syntaxcomplete#Complete

当我打开一个文件时,我输入以下内容:

:set tags=/mypath/myfile

但当我想要自动完成时,它不起作用:

自我。 在

不显示变量名而只显示函数名? 当我使用TagLisst时,我也只看到函数。如果我读我的标签文件,我可以找到我的变量。。在

所以,如果我想使用omnicomplete来完成python脚本中的变量,我该怎么做呢?在

谢谢。:)


Tags: 文件函数spacetabauletsethighlight
2条回答

删除omnifunc行就足够了。它明确地用功能较弱的python omnifunc替换默认的python omnifunc(它做您想要的)。在

嗯,我想我有一个更深层次的问题与Vi和旺盛的CTAG。在

您将在下面找到我的新vimrc:

set background=dark
set ai


let Tlist_WinWidth = 50
highlight Space ctermbg=darkblue guibg=darkblue
highlight Tab ctermbg=darkgray guibg=darkgray
au BufWinEnter * let w:m2=matchadd('Tab', '\t', -1)
au BufWinEnter * let w:m3=matchadd('Space', '\s\+$\| \+\ze\t', -1)

map <F4> :TlistToggle<cr>
map! <F3> <C-V><Tab>

filetype plugin indent on


set completeopt=longest,menuone

当我这么做的时候:

^{pr2}$

如果我想输入:

:ts

我得到:

E73:标记堆栈为空

或者:TlistShowTag=>;什么都不发生

我不明白哪里出错了?Vim配置?标签列表?旺盛的标签?:/

为什么我在标记文件中有变量namy而在标记列表中没有?:(

相关问题 更多 >