我想使用omnicomplete而不是自己编写每个变量。很快,我必须处理一个混乱的项目,所以我需要一些帮助才能找到变量......我试图使用omnicomplete,但它不起作用:
您将在下面找到一些软件信息:
VIM:7.3.429-2ubuntu2.1 exuberant-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脚本中完成变量,我该怎么做?
谢谢。 :)
答案 0 :(得分:0)
删除omnifunc
行就足够了。它明确地用一个功能较差的python omnifunc替换了你想要的默认python omnifunc。
答案 1 :(得分:0)
嗯,我想我对Vi和旺盛的ctags有更深层次的问题。
您将在下面找到我的新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
当我这样做时:
:set tags=/mypath/myfile
然后,如果我尝试输入:
:ts
我明白了:
E73:标签堆空
或:TlistShowTag =&gt;没有任何反应
我不明白哪里出错了? Vim配置?标记列表?旺盛的标签? :/
为什么我的标签文件中有变量namy但标签列表中没有? :(