2016-10-24 14 views
1

私は定期的に<leader>dを使用して関数定義に行きます。この定義が別のファイルのものである場合、ファイルのインポート行に移動します。jedi-vimを使用して別のファイルからインポートした関数定義に移動するにはどうすればよいですか?

jedi-vimを使用して、その行にインポートされた関数を定義するファイルに移動するにはどうすればよいですか?

答えて

2

設定に問題があるようです... filetypeが実際にpythonであることを再度確認してください。これは、the documentation

5.2に従って動作するはずです。 g:jedi#goto_command

機能:jedi#goto()

デフォルト:<leader>d

ゴー定義(または譲渡)へ

この関数は、最初のjedi#goto_definitionsをしようとすると、組み込みモジュール用バック jedi#goto_assignmentsに落ちます。 が見つからない場合はエラーが発生します。注:この実装は 変更の対象です。参照:https://github.com/davidhalter/jedi/issues/570

このコマンドは、カーソルの下にある 関数/クラスの元の定義を検索しようとします。 jedi#goto_assignments()関数のように、 の定義がPythonソースファイルにない場合は機能しません。

jedi#goto_assignments()jedi#goto_definitions()の違いは、後者が再帰 ルックアップを行うことです。 jedi#goto_definitions()機能 はあなたにすべての方法を取るながらjedi#goto_assignments()機能は、file1.pyで

from file2 import foo 

の文が表示されます

# file1.py: 
from file2 import foo 

# file2.py: 
from file3 import bar as foo 

# file3.py 
def bar(): 
    pass 

:、例えば、以下のモジュール構造を取りますthe

def bar(): 

line in file3.py

+0

あなたは正しいです。インストールされたライブラリで動作します。私はこれを知らなかった。問題は私が書いた図書館である。私はこの問題に関連する別の質問をするつもりです。 – krumpelstiltskin

+0

もう1つの質問はhttp://stackoverflow.com/questions/40235611/using-goto-with-user-defined-modules-in-jedi-vimです。 – krumpelstiltskin

関連する問題