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

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

回答の条件
  • 1人1回まで
  • 13歳以上
  • 登録:2014/07/29 04:45:29
  • 終了:2014/08/04 22:14:27
id:domodomodomo

1. ~/.vimrc には次の設定を追記しています。
Vimを最強のPython開発環境にする2 - Λlisue's blogから抜粋、適用しています。

" 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

mattn回答回数104ベストアンサー獲得回数232014/08/04 18:35:07

ポイント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

mattn回答回数104ベストアンサー獲得回数232014/08/04 18:35:07ここでベストアンサー

ポイント300pt

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

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

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

:set omnifunc?

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

git pull origin master
git submodule update

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

id:domodomodomo

原因: vi に python3 のインターフェイスが入ってなかったこと。
Mac で vim を Python の開発環境にする。 -

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

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

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

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

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません