問題タブ [vim-syntax-highlighting]

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.

0 投票する
3 に答える
662 参照

vim - ドットで終わる数字に一致するvimパターンはどれですか?

PDP11 / 40アセンブル言語では、ドットで終わる数字は10進数として解釈されます。次のパターンを使用していますが、その表記と一致しません。たとえば、次のようになります8.

取り替える\.Dパターンは8D問題なくマッチします。誰かが私の「ドットで終わる」パターンの何が問題になっているのか教えてもらえますか?ありがとう。

0 投票する
1 に答える
669 参照

vim - vim 正規表現とハイライト構文: 一致を見つけ、その中のサブマッチを無視する

VIM でシンタックス ハイライターを作成しようとしています。別の試合の中でどのように試合をハイライトしますか?

それぞれの一致を見つけるために、2 つのsyn match行を作成しました。これは、一致が分離されている場合に機能します。


構文の結果を強調表示 - 最初の行では一致が分離されており、2 行目では一致が重複しています。

  • 最初の行は、xpath 文字列の場合はピンク、文字列の場合は青です${..}

  • 2 行目は xpath 文字列のピンクですが、${..}その文字列内に含まれる は無視されます。

行の順序を変更しようとしましたsyn matchが、効果がありません。

あなたのアイデアをいただければ幸いです。

0 投票する
2 に答える
1742 参照

vim - 有効なファイル拡張子のないvimでファイルタイプを検出する

vimでファイルのファイルタイプを判断し、ファイルタイプに基づいて構文の強調表示を設定する方法を探しています。唯一の問題は、ファイルの種類を判断するためにファイル拡張子を使用できないことです。

これが私のシナリオです。私はvimdifforgvimdiffP4DIFFツールとして使用しています。これは、ローカル コピー内のファイルと perforce サーバーからのファイルとの間の変更を表示します。Perforce は、perforce サーバーから /tmp ディレクトリにファイルを取り込み、 を使用しPIDてファイルに名前を付けているようです。次に例を示します。

これは C++ ソース ファイル用でした。

perforce リポジトリで最も頻繁に遭遇するファイルの種類は、C/C++ ソースとヘッダー ファイル、Makefile、python スクリプト、perl スクリプト、ruby スクリプト、および tcl スクリプトです。

  • の使用を検討しましたがmodeline、ツリー内のほとんどのソースには、この情報がファイルに埋め込まれていません。

  • この投稿では、魔法のパターンを検索して識別するための可能なアプローチについて言及しています。高い成功率が得られる一貫した魔法のパターンは見つかりませんでした。

  • Linux ボックスでバイナリを使用して、fileどのような結果が得られるかを確認してみました。C/C++ ソースを適切に識別しているように見えますが、Makefile や Python スクリプト (ハッシュバンを持たない) でさえ失敗します。

良い点の 1 つは、比較される 2 つのファイルのうち、右側のファイルはローカル コピーからのものであり、拡張子付きの正しいファイル名を持っているため、右側のファイルに対して構文の強調表示が正しく有効になっていることです。

これを利用して、左側に表示されているファイルに同じ構文の強調表示を設定する方法はありますか?

この問題に対する別の解決策も歓迎します。

0 投票する
2 に答える
2813 参照

regex - 区切りリストの最後の要素と一致しますか?

次のように、コロンで区切られたデータがいくつかあります。

最後の要素(この場合は)に一致するように正規表現を使用したいと思いquxます。リストの長さは任意であり、1つの要素の長さの場合、コロンはまったくありません。

私はvimのゼロ幅マッチング構造を使用しようとしましたが、私が望むことを実行させることができないようです。

0 投票する
11 に答える
73662 参照

vim - VIM の GoLang 構文の強調表示を追加します。

ここで提供されるリソースと指示を使用して、ubuntu の VIM に Go 言語の構文の強調表示を追加しようとしていますhttp://go-lang.cat-v.org/text-editors/vim/

Goにはgo.vimVIMの構文設定を含むファイルが付属しており、上記のページには次の手順が記載されています

$GOROOT/misc/vim/syntax/go.vim を ~/.vim/syntax/ に配置し、以下を ~/.vim/ftdetect/go.vim に配置します。

これは、私が他の場所で見たvim構文をカスタマイズするための手順とほぼ同じです(Ubuntu 12.10のVim 7.3には「ftplugin」ディレクトリがどこにもなく、https://github.com/jnwhiteh/vim-golang/blob /master/readme.txt )

したがって、ディレクトリを作成するときは正しいことをしていると思います:
~/.vim
~/.vim/syntax
~/.vim/ftdetect

追加して上記の指示に従います

go.vim を ~/.vim/syntax/ に移動し、ファイル go.vim を ~/.vim/ftdetect/ に作成します。

ただし、構文の強調表示は発生していないようです。VIM にこれらの新しい設定ファイルを強制的に表示させるために必要なことはありますか?

0 投票する
1 に答える
2459 参照

vim - カーソルラインが行を強調表示しているときに、リスト文字の可視性や色を設定するか、vim で cchar を非表示にします

list listchars=...set to showNonTextSpecialKeycharacters を使用して、テキスト以外のさまざまな種類の文字を強調表示できることを知っています。一般に、これは簡単で機能します。しかし、それは私を邪魔する視覚的な副作用があります - カーソルラインがオンに設定されているときにカーソルを行の上に「ホバリング」している間listchars、別の色で強調表示されます。この問題はすでにこのスレッドで言及されており、動作を回避する解決策はないようです。

結果として、私は隠蔽機能を試し始めましたが、結果はまちまちです。set concealcursor=n||v||i||c隠し文字が表示されるモードを制御できます。隠し文字を常に表示できるようにしたいので、次のように設定します。

その結果、現在のモードに関係なく、常に表示されるすべてのスペースが強調表示されます。しかし、ここでも厄介な副作用があります。ビジュアル モードで行をマークしたり、カーソルラインで行を強調表示したりすると、強調表示領域が隠されている場所で中断されます。文字が見つかります。スクリーンショットをご覧ください:

選択した領域のビジュアル モード:

ビジュアルモードでの Vim 隠し文字

カーソルライン付きの通常モード:

カーソルラインを使用した通常モードのVim隠し文字

だからやってみようと思っset concealcursor=icた。これにより、ハイライトされた領域が中断されなくなりますが、文字は非表示になります。

ここに画像の説明を入力

では、この投稿の冒頭で言及したスレッドの周りに何らかの解決策がありますか、または使用時にカーソルラインと視覚的な選択領域を中断しないようにする方法はありますset concealcursor=nvicか?

0 投票する
2 に答える
1102 参照

vim - ネストされた領域を強調表示するVim

私は数か月間 vim を使用していますが、この優れたエディターでの経験を改善しようと努力しています。

私がやろうとしているのは、スパイス ネットリスト (電子的なもの) の構文強調表示ファイルを作成することです。

次のパターンを強調しようとしています。

.SUBCKT or_gate AB OUT

(*or_gate* は、セル
AB、およびこのセルのOUT BIENG ピンの名前です)

私がやろうとしているのは、3 つの異なる色で強調表示することです。

  • 1 つは .SUBCKT 用
  • or_gate (セル) 用に 1 つ
  • A、B、および OUT (ピン) 用に 1 つ

そこで、.SUBCKT で始まる行を見て、行のさまざまな単語を一致させる方法を見つけようとしました。

syn matchまたはネストされたsyn 領域のさまざまな組み合わせを試しましたが、間違った方法でやっているように感じます。

これが私の試みの1つの例です:

syn region spiceCKT start ="\.SUBCKT" end ="$" contains =spiceCell,spicePins

syn region spiceCell start ="\.SUBCKT"rs=e end ="$" を含む

syn region spicePins start ="\.SUBCKT\s\S*"rs=e end ="$" を含む

パターン (\s\S*) をいじって、rs=e の部分を追加/削除したり、\zs と \ze を追加して開始パターンまたは終了パターンを定義したりしようとしました。

結局、私はそれを機能させることができず、本来あるべきよりも複雑になっているように感じます.

私の間違いと、そのようなパターンの強調表示を処理する方法を理解するのを手伝ってくれる人はいますか?

0 投票する
1 に答える
244 参照

vim - 2 つの vim 構文の一致を同じ文字に重ね合わせる

vimscript で次の構文規則を定義しています。

そして後で、両方のハイライトを同じキャラクターに適用したいと思います。基本的に、私は次のことを試しました:

しかし、2 番目の一致が最初の一致を置き換えます。syntax matchそのため、 のヘルプとその質問への回答をさらに読み、syn matchパラメーターをいじってみました。

それでもまったく同じように動作します。

では、2 つの構文一致を使用して、同じ文字の背景と前景を個別に変更するにはどうすればよいでしょうか?

0 投票する
1 に答える
668 参照

vim - ~/.vimrc は filetype.vim の構文強調表示の不適切な推測をどのように無効にできますか?

GLSL シンタックス ハイライターhttp://www.vim.org/scripts/script.php?script_id=1002はうまく機能します。ただし、一般的に#version 330. (これは Ubuntu 12.04.2 LTS 上にあり、すべて最新です。)

このような行では、ファイルをロードした後set syntax=glsl、おそらく /usr/share/vim/vim73/filetype.vim が

" Generic configuration file (check this last, it's just guessing!)

if... getline(1)=~'^#'... setf conf.

~/.vimrc によって覆されないのはなぜau BufNewFile,BufRead *.frag,*.vert setf glslですか? filetype.vimで大失敗しない回避策はありますか?