VIM的omni补全问题

Vim、Emacs配置和使用
回复
macrohard
帖子: 147
注册时间: 2008-02-20 9:43
来自: Wuhan

VIM的omni补全问题

#1

帖子 macrohard » 2008-10-09 13:54

VIM的omni全能补全装了,
也 set tags+=tags了

CTRL+P 可以调出补全,
但 CTRL+X,CTRL+O 总是提示 pattern not found,找不到模式,

1.请问是什么原因?

2.还有, 补全的颜色 红色background很刺眼,

在哪里修改?

3. 想自己写verilog的snippet, 有没有script写法的介绍?
macrohard
帖子: 147
注册时间: 2008-02-20 9:43
来自: Wuhan

Re: VIM的omni补全问题

#2

帖子 macrohard » 2008-10-10 11:21

还没有高手出来啊?
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: VIM的omni补全问题

#3

帖子 eexpress » 2008-10-10 11:37

/usr/share/vim/vim71/syntax/verilog.vim

/usr/share/vim/vim71/colors/
● 鸣学
头像
kofshower
帖子: 1343
注册时间: 2007-03-13 11:23
联系:

Re: VIM的omni补全问题

#4

帖子 kofshower » 2008-10-10 12:03

红色background很刺眼,莫非你抄了别人的.vimrc;
pattern not found,莫有tag文件;
想自己写verilog的snippet, 有没有script写法的介绍?自带帮助
"We are all in the mud, but some of us are looking at the stars." (Oscar Wilde)
We are not born for ourselves.
人生天地间,并非为自己
Homepage:http://sites.google.com/site/polarisnotme/
macrohard
帖子: 147
注册时间: 2008-02-20 9:43
来自: Wuhan

Re: VIM的omni补全问题

#5

帖子 macrohard » 2008-10-10 15:20

eexpress 写了:/usr/share/vim/vim71/syntax/verilog.vim -----这是语法高亮,不是snippet啊

/usr/share/vim/vim71/colors/
macrohard
帖子: 147
注册时间: 2008-02-20 9:43
来自: Wuhan

Re: VIM的omni补全问题

#6

帖子 macrohard » 2008-10-10 15:23

kofshower 写了:红色background很刺眼,莫非你抄了别人的.vimrc; -------正是。qmenu可以改了
pattern not found,莫有tag文件; --------tags文件已经设置了, :set+=tags (将所有远程序生成了~/tags)想自己写verilog的snippet, 有没有script写法的介绍?自带帮助
----谢谢,正看
头像
kofshower
帖子: 1343
注册时间: 2007-03-13 11:23
联系:

Re: VIM的omni补全问题

#7

帖子 kofshower » 2008-10-10 15:40

pattern not found,莫有tag文件; --------tags文件已经设置了, :set+=tags (将所有远程序生成了~/tags)还是不能补全的话:
检查ctags生成的tags对么?原因是源里面其实有两个tags,需要的是etags,其实看看生成的文件就行了。然后看看相应的.vimrc设置,例如

"""""""""""""""""""""""""""""""""""
"ctags设置
"""""""""""""""""""""""""""""""""""
set tags=/home/hunch/.vim/cpp
set tags+=./tags,tags,../tags,../../tags
"set tags+=/home/hunch/.vim/ctags
"set tags+=/home/hunch/.vim/glibctag
"智能补全ctags -R --c++-kinds=+p --fields=+iaS --extra=+q
let OmniCpp_DefaultNamespaces = ["std"]
let OmniCpp_GlobalScopeSearch = 1 " 0 or 1
let OmniCpp_NamespaceSearch = 1 " 0 , 1 or 2
let OmniCpp_DisplayMode = 1
let OmniCpp_ShowScopeInAbbr = 0
let OmniCpp_ShowPrototypeInAbbr = 1
let OmniCpp_ShowAccess = 1
let OmniCpp_MayCompleteDot = 1
let OmniCpp_MayCompleteArrow = 1
let OmniCpp_MayCompleteScope = 1
最后注意如果是c++的注意用ctags -R --c++-kinds=+p --fields=+iaS --extra=+q
"We are all in the mud, but some of us are looking at the stars." (Oscar Wilde)
We are not born for ourselves.
人生天地间,并非为自己
Homepage:http://sites.google.com/site/polarisnotme/
头像
kofshower
帖子: 1343
注册时间: 2007-03-13 11:23
联系:

Re: VIM的omni补全问题

#8

帖子 kofshower » 2008-10-10 15:43

哦,我是自己设置了柔和的颜色:
if !exists("g:vimrc_loaded")
" color scheme
if has("gui_running")
set guioptions-=T "隐藏工具栏
set guioptions-=m
set guioptions-=L
set guioptions-=r
colorscheme inkpot
highlight PmenuSel ctermbg=7 guibg=DarkBlue guifg=White
highlight PmenuSbar ctermbg=7 guibg=DarkGray
highlight PmenuThumb guibg=Black
highlight Pmenu guifg=#333333 guibg=lightblue ctermbg=13
"hi PmenuSel guibg=#555555 guifg=#ffffff
" 状态行颜色
highlight StatusLine guifg=lightblue guibg=#333333
highlight StatusLineNC guifg=Gray guibg=White
set keywordprg=dictygui
"colorscheme professional
"set guifont=YaHeiConsolasHybrid\ 13
set guifont=Monaco\ 13
"中文字体
set guifo
"We are all in the mud, but some of us are looking at the stars." (Oscar Wilde)
We are not born for ourselves.
人生天地间,并非为自己
Homepage:http://sites.google.com/site/polarisnotme/
macrohard
帖子: 147
注册时间: 2008-02-20 9:43
来自: Wuhan

Re: VIM的omni补全问题

#9

帖子 macrohard » 2008-10-10 17:05

kofshower 写了:pattern not found,莫有tag文件; --------tags文件已经设置了, :set+=tags (将所有远程序生成了~/tags)还是不能补全的话:
检查ctags生成的tags对么?原因是源里面其实有两个tags,需要的是etags,其实看看生成的文件就行了。然后看看相应的.vimrc设置,例如

"""""""""""""""""""""""""""""""""""
"ctags设置
"""""""""""""""""""""""""""""""""""
set tags=/home/hunch/.vim/cpp
set tags+=./tags,tags,../tags,../../tags
"set tags+=/home/hunch/.vim/ctags
"set tags+=/home/hunch/.vim/glibctag
"智能补全ctags -R --c++-kinds=+p --fields=+iaS --extra=+q
let OmniCpp_DefaultNamespaces = ["std"]
let OmniCpp_GlobalScopeSearch = 1 " 0 or 1
let OmniCpp_NamespaceSearch = 1 " 0 , 1 or 2
let OmniCpp_DisplayMode = 1
let OmniCpp_ShowScopeInAbbr = 0
let OmniCpp_ShowPrototypeInAbbr = 1
let OmniCpp_ShowAccess = 1
let OmniCpp_MayCompleteDot = 1
let OmniCpp_MayCompleteArrow = 1
let OmniCpp_MayCompleteScope = 1
最后注意如果是c++的注意用ctags -R --c++-kinds=+p --fields=+iaS --extra=+q


我用的是Win的版本 :)
ctags 5.7
可能是.vimrc的设置问题,

谢谢!
macrohard
帖子: 147
注册时间: 2008-02-20 9:43
来自: Wuhan

Re: VIM的omni补全问题

#10

帖子 macrohard » 2008-10-14 11:31

确实是 TAGS文件的问题,

现在可以自动补全了,

不过有个新问题:

补全只在一级补全,

就是说只补全 class 的成员函数和变量,
而 class中嵌套的class的成员不能补全,

是不是还需要设置补全级别?
回复