1406576729 jedi-vim で Django の補完ができません。

何か、思い当たる原因がありましたら、ご教示いただけないでしょうか?

回答の条件
  • 1人1回まで
  • 登録:
  • 終了:2014/08/04 22:14:27
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。
id:domodomodomo

1. ~/.vimrc には次の設定を追記しています。

から抜粋、適用しています。

" Djangoを正しくVimで読み込めるようにする
NeoBundleLazy "lambdalisue/vim-django-support", {
      \ "autoload": {
      \   "filetypes": ["python", "python3", "djangohtml"]
      \ }}

 

NeoBundleLazy "davidhalter/jedi-vim", {
      \ "autoload": {
      \   "filetypes": ["python", "python3", "djangohtml"],
      \ },
      \ "build": {
      \   "mac": "pip install jedi",
      \   "unix": "pip install jedi",
      \ }}

let s:hooks = neobundle#get_hooks("jedi-vim")
function! s:hooks.on_source(bundle)
  " jediにvimの設定を任せると'completeopt+=preview'するので
  " 自動設定機能をOFFにし手動で設定を行う
  let g:jedi#auto_vim_configuration = 0
  " 補完の最初の項目が選択された状態だと使いにくいためオフにする
  let g:jedi#popup_select_first = 0
  " quickrunと被るため大文字に変更
  let g:jedi#rename_command = '<Leader>R'
  " gundoと被るため大文字に変更 (2013-06-24 10:00 追記)
  let g:jedi#goto_assignments_command = '<Leader>G'
endfunction

2. virtualenv は使っておりません。

3. site-packages へのパスがあることを確認しています。

>>> import os
>>> for e in os.sys.path:
...     print(e)
/opt/local/Library/Frameworks/Python.framework/Versions/3.3/lib/python33.zip
/opt/local/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3
/opt/local/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/plat-darwin
/opt/local/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/lib-dynload
/opt/local/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages

 

4. Django のディレクトリは次の通りであることを確認しています。

/opt/local/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/django

ベストアンサー

id:mattn No.1

回答回数104ベストアンサー獲得回数23

ポイント300pt

確認すべき項目だけですが。

  • omnifunc=jedi#completions になっていること。
  • jedi-vim のディレクトリで jedi というフォルダが submodule としてチェックアウトされていること。

前者は適当なファイル(例: foo.py)を開いて

:set omnifunc?

を実行して確認して下さい。後者は neobundle でチェックアウトされた際にどの様にチェックアウトされているかで変わってきますがディレクトリに移動して

git pull origin master
git submodule update

を実行して頂ければ最新になるはずです。

その他の回答0件)

id:mattn No.1

回答回数104ベストアンサー獲得回数23ここでベストアンサー

ポイント300pt

確認すべき項目だけですが。

  • omnifunc=jedi#completions になっていること。
  • jedi-vim のディレクトリで jedi というフォルダが submodule としてチェックアウトされていること。

前者は適当なファイル(例: foo.py)を開いて

:set omnifunc?

を実行して確認して下さい。後者は neobundle でチェックアウトされた際にどの様にチェックアウトされているかで変わってきますがディレクトリに移動して

git pull origin master
git submodule update

を実行して頂ければ最新になるはずです。

id:domodomodomo

原因: vi に python3 のインターフェイスが入ってなかったこと。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません