2013-03-15 5 views
6

私は実行可能なJavascript編集環境を持つことができるように、ctags、jsctags、およびtagbarの設定に関する助けが必要です。私はすべてがインストールされているが、ctagsとjsctagsがどのように連携しているかを知ることができなかったので、正しく設定する方法がわからない。私はGoogleの周りかなりのビットを行っているが、情報はかなり壊れていて、一貫性が欠けている。私はこの投稿と同じようなエラーを受けました。ctags and tagbar configuration are out of sync。私はOS Xのマウンテンライオンとiterm2です。ctags、jsctags/doctorjs、Tagbarステップバイステップ

ご協力いただければ幸いです。ステップバイステップの指示が優れています。

Thx。

答えて

5

最初に、jsctagsとctagsがとなることはありません。が同期していることを理解する必要があります。単純な関数しかない場合でも、両方のプログラムがわずかに異なる情報を出力することがあります。したがって、一方はまたはのいずれかを使用することをお勧めします。

第2に、AFAIK、TagBarは、ctagsの代わりにjsctagsを使用するように設定する必要はありません。 JavaScriptを使用している場合、デフォルトではjsctagsがデフォルトで使用可能になります。あなたが作業中のjsctagsを持っていればTagBarは不平を言ってはいけません。

第三には、独自のタグに関連する機能(:tag:tselect<C-]>、等)のために、Vimは1つのまたは複数の物理tagsファイルの存在に依存しています。これらのファイルがctags、jsctags、またはwhatevertagsによって生成されるかどうかは、それらが正しく生成されている限り問題ではありません。

そして今、私たちは痛みが本当にどこにあるのかという4番目のポイントに到着します。タグバーも古いいとこのTagListも実際には物理的にtagsファイルを使用していません。既存のtagsファイルを使用または更新しようとせずに、ctagsまたはjsctagsを直接利用します。そのため、TagBarが現在のバッファのみを処理するという事実により、あなた自身の物理的なtagsファイル(したがって、Vimのタグ関連機能)とTagBarは、ほとんど同期していないことが保証されます。同じインデクサを使用していても。

だから... ...私はどちらか ctagsのまたは jsctagsを使用するために、あなたに助言し、両方のものが完全に分離されているようTagBarさんとVimのタグに関連するものを同期について何かを忘れてしまったと思います:

  • 使用TagBarへ現在のバッファで理解/ナビゲートします。

  • Vimのタグ関連の機能を使用して、プロジェクトを移動します。


ランダム思考...

  • Vimが簡単にtagsファイル(複数可)を見つけるためには、あなたはあなたの~/.vimrcにこの行を置く必要があります。

    set tags=./tags,tags;/ 
    

    ./tags手段"現在のファイルのディレクトリにtagsファイルを探します"、tagsは「作業ディレクトリでtagsファイルを探します」を意味し、;/は「/に到達するまで見上げてください」を意味します。

  • The TagBar wiki jsctagsのバグについては、あなたが気にしないことを確認してください。

  • jsctagsは、たくさんのコールバックと自己実行機能を備えたクレイジーな「最新の」JavaScriptを書くときのctagsよりも優れています。 JavaScriptがより伝統的なものであれば、ctagsで十分です。

+0

romainl、説明のためにありがとう。私はjsctagsが動作していると思うが、タグバーは変数、メソッド、クロージャなどをブレークダウン/階層なし、オブジェクトツリーのように、または外部ライブラリ(require(..))から参照するだけで示した。それはそれがされている方法ですか?たぶんctagsはより良い仕事をすることができますか?最大の価値は、変数にカーソルを合わせて、それを定義するソースファイルに移動することができるようになります。私は理にかなってほしい。 – 1001b

+0

スコープ付きの階層ビューが必要です。 Jsctagsはctagsよりもスコープが優れているはずなので、TagBar wikiに書かれているjsctagsのバグのように聞こえます。もっと集中的な助けを求めてGithubのissue trackerを試してみるべきです、私は恐れています。最新の 'tags'ファイルをお持ちの場合、変数にカーソルを置いて' 'を押すと、定義にジャンプします。 JSに優しいコマンドについては、[this](https://github.com/romainl/dotvim/blob/master/vimrc#L174)を参照してください。 – romainl

+0

Thxもう一度。リマップラインは非常に便利です。タグファイルをどのように整理するのですか(あるいはjsctagsコマンドをどう呼びますか)? JSの依存構造の複雑な性質は、物事をあまり直感的にしません。例えば、コアモジュールはノードに座っていますが、プロジェクトファイルは別のパスにあります.Btw、タグのスコープが私に起こります... wikiによると、提案されている修正は、必要に応じて実行できませんダウングレードnode.js!その他の回避策?再びThx。 – 1001b

関連する問題