同じディレクトリにあるにもかかわらず、vimがタグファイルを表示できないのはなぜですか?


8

私はフォルダにいますE:\dir\python_file.py:pwdショーE:\dir:e tagsで生成したタグファイルを開きますctags -R

私が持っているtags:合理的と思われるものにセットをset tags?示していますset tags=./tags,tags;E:\。Verbose set tagsは私のvimrcのみを表示します。

を使用すると、およびの:tag method_name2つのエラーがスローされます。E433: No tags fileE426: tag not found: method_name

私はWindowsを使用しています。


1
gvim -u NONE -U NONE正常に機能しているので、変なことをするプラグインが必要です。
TankorSmash

回答:


8

wildignore 末尾にコンマがありました。

私のvimrc set wildignore=*.png,には、末尾にコンマがありました。それを変更するとset wildignore=*.png私の問題は解決しました。

それは見ての後、判明:setしばらく、ためftplugin/python.vim ないset wildignore+=*.pycという理由だけで、どこかset wildignore=*.png,のタグを壊すのに十分ではありません。そのため、.pyファイルを開くと、私が持っていたwildignoreはでした。vimをでwildcard=*.png,,*.pyc開くとvim -u NONE -U NONE、タグが壊れます。

設定が空でない場合、Vimはコンマを追加するいくつかの連結を行う必要がありますが、既存の末尾のコンマはチェックしません。バグを見つけたと思う。


バグであることが判明し、それ以降解決れました


いくつかのテストを行って、vimrcのみを使用するだけでset wildignore=*.png,はこれを引き起こすのに十分ではないので、構文解析が末尾のコンマでスタックする可能性がありますか?
TankorSmash

それが本当にバグコード
p /

バグではないと主張します。この設定はカンマ区切りのリストです。設定にはすでに末尾のカンマがあるため、設定に空のアイテムがあることを意味します。(空のアイテムが何かを意味するかどうかは、おそらく設定に依存しています)。+=コンマで区切られたリストである設定で行うと、リストに何かを追加しようとしているため、空でない限り、常にコンマが追加されます。既存のコンマを使用すると、空のアイテムが削除されます。これはおそらく予想外です。(:help :set+=)(ただし、すべてを無視する空の項目はバグである可能性があります)
FDinoff

@FDinoffは良い点です。空のアイテムを期待する設定がある可能性があります。
TankorSmash

@ベトナム問題ない男!
TankorSmash 2016
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.