1

我读到,omnicompletion 应该“开箱即用”,但事实并非如此,我想知道我做错了什么。

我编译了最新版本的vim,它显示“+python”:

user$ vim --version
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Feb 16 2013 11:22:56)
MacOS X (unix) version
Compiled by user@computer.local
Normal version without GUI.  Features included (+) or not (-):
-arabic +autocmd -balloon_eval -browse +builtin_terms +byte_offset +cindent 
-clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments 
-conceal +cryptv -cscope +cursorbind +cursorshape +dialog_con +diff +digraphs 
-dnd -ebcdic -emacs_tags +eval +ex_extra +extra_search -farsi +file_in_path 
+find_in_path +float +folding -footer +fork() -gettext -hangul_input -iconv 
+insert_expand +jumplist -keymap -langmap +libcall +linebreak +lispindent 
+listcmds +localmap -lua +menu +mksession +modify_fname +mouse -mouseshape 
-mouse_dec -mouse_gpm -mouse_jsbterm -mouse_netterm -mouse_sysmouse 
+mouse_xterm -multi_byte +multi_lang -mzscheme +netbeans_intg -osfiletype 
+path_extra -perl +persistent_undo +postscript +printer -profile +python 
-python3 +quickfix +reltime -rightleft -ruby +scrollbind +signs +smartindent 
-sniff +startuptime +statusline -sun_workshop +syntax +tag_binary 
+tag_old_static -tag_any_white -tcl +terminfo +termresponse +textobjects +title
 -toolbar +user_commands +vertsplit +virtualedit +visual +visualextra +viminfo 
+vreplace +wildignore +wildmenu +windows +writebackup -X11 -xfontset -xim -xsmp
 -xterm_clipboard -xterm_save 
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
      user exrc file: "$HOME/.exrc"
  fall-back for $VIM: "/Users/user/Software/vim/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H   -DMACOS_X_UNIX -no-cpp-precomp  -g -O2 -D_FORTIFY_SOURCE=1      
Linking: gcc   -L/usr/local/lib -o vim       -lm -lncurses  -framework Cocoa     -framework Python

我清除了我的 .vimrc 以离开:

" Automatic reloading of .vimrc
autocmd! bufwritepost .vimrc source %

filetype plugin on

我的 ~/.vim/ 目录只是

autoload/pythoncomplete.vim

我从http://www.vim.org/scripts/script.php?script_id=1542下载的

并且以下命令返回:

:echo &omnifunc
pythoncomplete#Complete

这似乎很好。但每次我对以下 test.py 文件执行 control-xo 时:

#! /usr/bin/env python
import numpy
numpy.r

在输入“num”或“numpy.r”后我得到

Omni completion (^O^N^P) Pattern not found

我的安装有问题吗?任何想法都非常感谢。谢谢你。

编辑:根据 TankorSmash 关于安装 python 模式的建议,我可以让“num”完成到“numpy”,但不能让“numpy.r”完成任何事情。

这是我的新 .vimrc 文件:

" Automatic reloading of .vimrc
autocmd! bufwritepost .vimrc source %

" Pathogen load
filetype off

call pathogen#infect()
call pathogen#helptags()

filetype plugin indent on
syntax on

和我的 .vim 目录树:

.vim
    autoload
        pathogen.vim
        pythoncomplete.vim
    bundle
        python-mode

有任何想法吗?

4

1 回答 1

2

不需要任何第三方完成脚本即可完成 Python。

我没有(我唯一拥有的特定于 Python 的脚本是一个简短的 ftplugin),这些是我在点击<C-x><C-o>之后得到numpy.的建议numpy.arc......</p>

麻木的。

numpy.arc

由于您似乎使用的是 Mac OS X,因此您真的不应该自己编译 Vim。安装最新的 MacVim 快照是在 Mac 上运行 Vim 的最佳方式,我相当肯定你会得到与在这台 Linux 机器上开箱即用的相同的建议。

编辑

我刚刚在我妻子的裸机 iMac(python 2.5)上的旧 MacVim(快照 53)上测试了相同的代码,我得到了或多或少相同的建议(485 vs 551)。

于 2013-02-17T08:19:07.360 回答