选项 omnifunc 未在 vim 中设置?

it_*_*ure 4 vim

root@debian:/home/debian# echo  $PYTHONPATH
/usr/lib/python2.7/:

root@debian:/home/debian# ls /usr/share/vim/vim73/autoload/ 
adacomplete.vim  decada.vim htmlcomplete.vim    netrw.vim        pythoncomplete.vim  spellfile.vim       tohtml.vim       zip.vim
ada.vim      getscript.vim  javascriptcomplete.vim  paste.vim        rcomplete.vim   sqlcomplete.vim     vimball.vim
ccomplete.vim    gnat.vim   netrwFileHandlers.vim   phpcomplete.vim      README.txt      syntaxcomplete.vim  xml
csscomplete.vim  gzip.vim   netrwSettings.vim   python3complete.vim  rubycomplete.vim    tar.vim         xmlcomplete.vim

cat  /etc/vim/vimrc
runtime! debian.vim
set mouse=a     " Enable mouse usage (all modes)
set ts=4
set expandtab 
set shiftwidth=4 
if filereadable("/etc/vim/vimrc.local")
  source /etc/vim/vimrc.local
endif
set number
set textwidth=80
syntax enable 
filetype indent on
filetype plugin indent on
autocmd FileType python setlocal et sta sw=4 sts=4
autocmd FileType python set omnifunc=pythoncomplete#Complete
autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
autocmd FileType css set omnifunc=csscomplete#CompleteCSS
autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
autocmd FileType java set omnifunc=javacomplete#Complete
if has("autocmd") && exists("+omnifunc")
     autocmd Filetype *
   \ if &omnifunc == "" |
   \   setlocal omnifunc=syntaxcomplete#Complete |
   \ endif
endif
Run Code Online (Sandbox Code Playgroud)

当我编辑一个 python 文件时,例如ctrl+x附件,输入,输出是附件 1: 在此处输入图片说明

输入ctrl+o在此处输入图片说明

选项 omnifunc 未设置?我的 vimrc 中哪个设置有问题,或者哪里有问题?

Gre*_*ell 5

尝试使用空设置并且没有插件:

vim --noplugin -u NONE yourfile.html
Run Code Online (Sandbox Code Playgroud)

该错误意味着在 Vim 中没有设置 'omnifunc' 变量,这通常由文件类型插件完成。

尝试:

:set filetype=html
Run Code Online (Sandbox Code Playgroud)

或python,或其他什么,然后看看是否<C-X><C-O>有效。

另外,请尝试:

:set omnifunc
Run Code Online (Sandbox Code Playgroud)

并查看它是否设置为任何值。


rom*_*inl -7

  1. 既然你已经有了,filetype plugin indent on你就不需要所有这些omnifunc行了。

  2. 您的自定义设置/etc/vim/vimrc. 无论你做了什么,都/etc/vim/ 必须尽快恢复。

    您的设置的正确位置是~/.vimrc,您的插件的正确位置是~/.vim/

简而言之,如果您希望 Vim 正常工作,请按正常方式进行操作。

  • “简而言之,如果您希望 Vim 正常工作,就按正常方式做事。” 这应该有什么帮助? (47认同)