問題タブ [exuberant-ctags]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
vim - Vimで複数のctagsの一致をナビゲートする方法は?
私はCtrl-]を Vim で使用して、Ctags を使用してナビゲートしています。複数の一致がある場合、別のファイルに移動するにはどうすればよいですか?
元。something.publish
の複数の出現を含むコードベースでpublish
:
vim - 行頭の空白のインデックスを回避するためにctagsを取得するにはどうすればよいですか?
Vimであふれんばかりのctagsを使用すると、ctagsが各タグ定義の先頭にスペースを含むタグファイルを生成することがわかりました。その結果、タグにジャンプするたびに、行の後半にあるタグの場所ではなく、行の先頭にジャンプします。
この空白にインデックスを付けないように、あふれんばかりのctagsに指示する方法はありますか?
vim - ファイルの種類に基づいて vim ショートカットを動的に設定できますか?
Python (ropevim を使用) でうまく機能するカスタムの「定義に移動」ショートカットがありますが、コーヒー スクリプト ファイルにいるときは、通常の ctags ルックアップを使用して移動する必要があります。現在のバッファで開いているファイルの種類に応じて、ropevim 検索または ctags 検索のいずれかを実行するショートカットを 1 つだけ作成することは可能でしょうか?
c++ - ctags を使用して C++ クラスのインスタンスを取得するにはどうすればよいですか?
たとえば、次のように C++ クラスを定義します。
後で:
上記のコード例では、ctagsは継承、メンバー、メソッド、アクセス タイプ (パブリック、プライベート) などを教えてくれます。
しかし、kitty が cat のインスタンスであることをどのように確認できますか?
vim - vim では、virtualenv で定義のあいまい検索を行い、インポート ステートメントを作成します。
そこで、次のことを行う vim プラグインを探しています。
実行時に、現在使用されている virtualenv のすべてのモジュールで定義されているすべての名前のリストを開きます。これは、おそらく ctags で既に作成されたタグ ファイルからのものです。
FuzzyFinder スタイルのコントロールによってユーザーがリストを制限できるようにします。さらに、定義だけでなくファイル パスとも一致する必要があります。
したがって、検索文字列User
が一連の結果を返した場合
検索文字列User;models
はそれを最初の行だけに制限します
目的の定義が見つかった場合、その名前が現在のバッファーに挿入され、対応する import ステートメントがファイルの先頭に追加されます。
vim - vim EasyTags、ファイルタイプごとのタグコマンド?
私はvimで優れたEasyTagsプラグインを使用しています。私の唯一の問題は、ExuberantCTagsがHaskellをサポートしていないことです。ただし、Haskell vimタグファイルを正しく生成するプログラムがいくつかあり、EasyTagsのファイルタイプごとのタグファイルオプションをすでに使用しています。
EasyTagsにファイルタイプごとに異なるctagsプログラムを使用するように指示する方法はありますか?ラッパースクリプトを記述して、それをグローバルctagsプログラムとして設定することもできますが、よりクリーンなソリューションをお勧めします。
私はもう試した
しかし、EasyTagsはサポートされている言語のリストをctagsプログラムに照会しようとしているようです。そのため、このオプションを有効にしてHaskellファイルを開くと、エラーが発生します。
ctags - --regex- で生成されたタグにスコープ情報を追加できますか`熱狂的なctagsで?
技術的には、vim でTagbarを使用してファイルのタグを表示していますが、この質問は一般的に熱狂的な ctags v5.8 に適用されます。
次の python ファイルがあるとしますfoo.py
。
実行してみましょうctags
: ctags foo.py
. 結果のtags
ファイルは次のようになります。
私が興味を持っているビットは、2 行目の最後のフィールドですclass:foo
。それがbar()
機能の範囲です。vimでtagbarを使用すると、それに応じて関数がクラスにネストされます。
ここで、 に新しい言語のサポートを追加するとします~/.ctags
。実際、この puppet ファイルのサポートを追加しています。
次の~/.ctags
引数を使用するとします。'import' 正規表現は醜い (err... regex としては醜い) ですが、この例では十分に機能します:
tags
これにより、ファイルに次のタグが生成されます。
どちらの行にもスコープ情報が含まれていないことに注意してください。私の質問は次のとおりです。タグのスコープに関する情報を収集するために、一般的に--regex-puppet
引数または行を構築する方法はありますか? --regex-<LANG>
おそらく、基準 A を満たすタグは常に基準 B を満たすタグのスコープ親になると宣言するには?
man ctags
任意のスコープ情報を追加する明確な方法はありませんが、別の解決策を見落としている可能性があります (強調するために少し省略しています)。
macos - OSX 内の vim 内での ctags タグの生成が機能しない
OSXでターミナルvimを使用しており、自作でctagsをインストールしました
/usr/local/bin/
次に、ディレクトリをPATHに追加しました
また、自作のインストール済みバージョンを使用するために CTAGS をエイリアス化しました
これはすべて私の.zshrcにあり、正常に動作します。
問題は、:!ctags -R .
VIM 内で実行しようとすると
オプション「-R」を認識しないため失敗します
走っ:!which ctags
て帰ってきた
代わりに/usr/local/bin/ctags
これを解決する方法はありますか?
アップデート
zshrc ファイルを追加します
windows - Windows の .ctags ファイルはどこにありますか?
Python プロジェクトで ctags を使用しようとしていますが、ctags がインポート行を定義として認識するという問題が発生しています。私が見つけたアドバイスは、次の行を追加することでした。
--python-kinds=-iv
~/.ctags ファイルに。ただし、Windows マシンからこれを行っているため、.ctags ファイルに相当するものが見つかりません。$HOME ディレクトリと ctags ディレクトリを調べてみました。問題をグーグルで検索しようとしましたが、うまくいきませんでした。
これは自分で作成する必要があるファイルですか? もしそうなら、どこに置くべきですか? 私が作成しているタグファイルと同じディレクトリにありますか?