Ruby、SASS、Slim、Coffescriptのタグを設定する方法は?


7

SASS、Slim、Coffeescriptを使用してRailsでmainを開発しています。Exuberant Ctagsをインストールし、tpopeのセットアップを使用しています

それは一種の働きをするので、少なくとも私はルビコードを動き回ることができます。

しかし、私はできるようにしたいと思います:

SASS
color: $whatever    <- go to that color
@extend %something  <- go to that mixin
+another()          <- go to that include

HTML/SLIM
.nice_class         <- go to that class in .sass file
#id                 <- find JS files using this #id

RUBY
has_many :something <- go to that class
concerns :important <- go to that symbol

そして、おそらく最も重要です–上記のオートコンプリートを行います。プロジェクトでCSSクラス、HTML ID、Rubyシンボルを再利用できます。

CSSクラス、HTML ID、Sassミックスイン、その他の最新のWeb開発で使用されるすべてのものをカバーするようにCtagsを設定するにはどうすればよいですか?


それは単純なタグのレベルをはるかに超えているようでcscope、のようなレベルではありませんが、cscopeがHTML + JS + CSSをサポートしているかどうかはわかりません。
muru

1
このSOの質問を見てください。
romainl 2015年

回答:


3

Vimは強力なテキストエディターです。タグのVimは、1つのまたは複数の読むことができます:機能は、単純な基礎に基づいており、タグのデータベースを検索するためのタグ(基本的には文字列)、対応するファイルとアドレス(検索パターン)からなるラインベースのレコードを含む、およびオプション追加情報。

それが得られるものです。Ruby、SASS、CoffeeScriptをカバーするタグファイルを作成すると、定義済みのタグにジャンプして補完を使用できます。ただし、Vimには、この単純で理解しやすいメカニズムの他に、構文やシギルに基づいてさまざまな言語や記号を区別する機能がありません。これに基づいてカスタムインテリジェンスを構築することもできますが、VimがそうではないIDEを構築する方向に移動するでしょう。制限を受け入れて、Vimが優れている場合はVimを使用し、残りはIDEに固執します。

TL; DR:Vimは、言語に依存しないテキストエディターであり、基本的なナビゲーション手段を備えています。すべての機能を使用するには、ナビゲーションにIDEを使用します。


1
私はVimが編集する言語を理解していないことを知っています。ドット、ハッシュ、パーセント記号などで始まるすべてを収集するようにCtagを設定する方法はありますか?PS。キャメルケースモーションをありがとう。
firedev 2015年

1
あふれんばかりのctagsには、サポートされている言語の組み込みに関するルールがあります。あなたはそれらを変えることができないと思います。しかし、あなたは経由して、独自の、正規表現ベースの構文解析を定義することができます--langdef=... --langmap=... --regex-...=...
インゴKarkat

2
「制限を受け入れて、Vimが優れている場合はVimを使用し、残りはIDEを使用することをお勧めします。」@IngoKarkat意味がありません。VimとIDEを交互に切り替えることは、Vimをカスタマイズして必要なすべてを実行するよりも理想的だと言っています。思い通りの方法ですべてのことを実行できる、カスタマイズされたVimを用意することをお勧めします。あなたはあきらめすぎです。あきらめないで。Vim + Linux + shell =テキストベースのIDE。テキストベースのIDEの概念の範囲内で、必要なことをすべて実行できます。
still_dreaming_1 2015年

@INTPnerd:少なくとも特定の言語では、IDEの機能は非常に進んでいます。簡潔に言うと、Vimが追い付くのが難しい2つのこと:ファンシーなGUIの視覚化(Bramによって範囲外とされている)と非同期(実装が難しい)。私は個人的にIntelliJ IDEAとGVIMを並行して使用しており、その「両方の長所」のセットアップに非常に満足しています。
インゴカーカット2015年

@IngoKarkatこれは特定の場合にのみ機能します。しかし、コードのルックアップ/ナビゲーションの優れたサポートに関する限り、これらは、vimを使用しているときは常にvim内で本当にうまく機能させたいものです。vimでコードを編集するのは意味がありません。次にIDEに切り替えてコードを検索し、Vim内で編集できるようにします。これまでのところ、IDE内で見たVimエミュレーションに満足したことはありません。私はいつも、私が持っているすべてのカスタマイズとプラグインを備えた完全なVimを見逃してしまいます。これは、長く使うほどますます真実となり、Vimを好みに合わせてカスタマイズ/拡張することができます。
still_dreaming_1 2015年

1

vim-gutentagsを試してください:https : //github.com/ludovicchabant/vim-gutentagsこれは自動的にタグを生成します。ただし、このプラグインは保存のたびにタグを自動的に再生成するため、全体的に速度が低下する可能性があります。また、開いたファイルのタグを生成するため、dotfilesフォルダーにタグファイルが含まれる可能性があります。プロジェクトのタグ生成を無効にする場合は、次をお読みくださいhttps : //github.com/ludovicchabant/vim-gutentags/commit/7316197a7f884e264e20590cbad90046d8337fbb

個人的にはかなり長い間使用していますが、適切に構成されていれば、このプラグインは時間を大幅に節約できますが、YMMVです。


vi.stackexchange.com/a/2897/237のeasytags速度を低下させていたプラグインを無効にし、tpopeによって提案されているようにgitフックの使用に切り替えました
firedev

^どちらもうまくいきませんでした。
2016年

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