24

標準のハイライトは便利だと思います -- ある程度は。コールバックとネストされた構造を使用してプログラミングする場合、これは役に立ちません。キーワードと文字列、それらはどこにでも表示され、それらが明確な色で表示されると役立ちますが、これらの色は、私がどのスコープにいるのか、語彙の観点からどこにいるのかについての手がかりを与えません.

URL を思い出せない Douglas Crockford の講演で、コンテキストの強調表示について聞いたことがあります。アイデアは、範囲の字句レベルを強調することです。トップレベルの定義はcolor0で色付けされ、内部レベルのブロック ステートメントはcolor1で色付けされます。これは、新しいレベルのスコープが導入されるたびに再帰的に繰り返されます。以下は、いくつかの仮想ノード ライブラリを使用した例です。((ish (またはスキーム Lisp)) の例が追加されました)

例。 疑似スキームの複数の親の例

これは必ずしも node または javascript の場合ではありません。この種の機能を実装するエディター/vim プラグインがあるのだろうか。コンテキストの強調表示がこれを表す言葉かどうかはわかりませんが、見つけることができません。コンテキストの強調表示をグーグルで検索すると、一般的なトークンベースの強調表示と ConTeXt (これについてはわかりません) の結果が表示されます。

これは存在しますか?これを実装するエディタはありますか?さらに重要なことに、これをvimで使用できますか?

私のものと同じで、本当の答えがない別の質問:クロックフォードスタイルのコンテキストカラーリングはコードエディターに実装されていますか?

4

3 に答える 3

1

あなたが要求しているものとは正確には異なりますが、コードの折りたたみは、コードの特定のレベルに集中できる強力な機能です。Vim は折りたたみをサポートしていますhttp://vim.wikia.com/wiki/Folding

インデント ガイドは、コードの特定の部分に焦点を当てる場合にも非常に便利です。崇高なテキストエディタにはこれがあります(http://sublimetext.userecho.com/topic/98136-indent-guide-highlighting-changed/

同じことをしているように見えるvim用のこのプラグイン(https://github.com/nathanaelkane/vim-indent-guides )を見ました。

このプラグインのインデント ロジックを使用して配色を変更する構文ハイライターを作成できます。あなたが説明することは、インデントからだけでなく、言語パーサーのように機能する必要がある場合に、より複雑になります。

于 2013-02-28T22:12:02.247 に答える
0

VIM にはvim-js-context-coloringというプラグインがあります。少し遊んだだけで、まだあまり感銘を受けていませんが、有望に見えます!

注:プラグインがインストールされているディレクトリにインストールnpmしてから実行する必要があります。npm install残念ながら、インストール時に説明書を読むのを忘れていました。

于 2014-03-10T11:31:21.613 に答える