問題タブ [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.
vim - アスタリスク+スラッシュを使用した場合のMacvimCSS/Sass構文の強調表示エラー
ディレクトリ()内のすべてのPNGファイルを含むSassスタイルシートでCompassスプライト@importステートメントを使用しています@import 'place-detail-icons/*.png';
。問題は、Macvimがその後のすべてを/*
CSSコメントとして認識し、スタイルシートの残りの部分をコメントとして表示することです。
/**/
Macvimを偽造するために、@ importステートメントの下に行を置くことで、これを修正することができました。しかし、誰かがこれに対処するための非ハックの方法を見つけたかどうか疑問に思っていました。これがコードのより大きな選択です。
vim - シンタックスハイライトを選択的に適用する方法
Vim を使用してチュートリアル/本を書いています。テキスト ブロック (本の通常のテキスト) の構文強調表示をオフにして、コード例のために再度有効にしたいと考えています。
私は最後までグーグルで検索しましたが、簡単な解決策が見つかりません。何か不足していますか?それとも、これは Vim では達成できませんか?
vim - vim でインデントされたブロックに特別な構文ハイライターを割り当てるにはどうすればよいですか?
couchdb 関数をグループ化するのに便利なように、yaml を使用して個別のものをグループ化するファイル形式を作成しました
name.ext: |
基本的には、.ext に適合する言語の意図したコード ブロックが後に続く形式のエントリが含まれます。
より快適な編集のために、vim に正しい構文ハイライターを使用させたいと思います
編集
要求に応じたいくつかのコード例
単純:
より複雑:
vim - カーソルが現在入っている括弧の範囲にvimに下線を引くことは可能ですか?
開き括弧と閉じ括弧を色付けする vim 用のレインボー プラグインがあることは知っていますし、vim が対応する括弧を強調表示できることも知っています。私が現在いる括弧の範囲内のすべてに下線を引くようにvimにお願いします。
例: を現在のカーソル位置とすると、次のようになります。
すべてに下線を引きます。
だけに下線を引き(de fg)
ます。
それは可能ですか?
vim - vim がまだ間違った構文ハイライターを選択している場合はどうすればよいですか?
私は常に cpp ファイル (*.cc) をtcl
ファイルとして認識するシステム (Linux) を使用しています。ファイルの種類はわかりませんが、上書きしたかったのです。手動で行うと、正しい構文の強調表示が選択されます:set ft=cpp
。modeline
ただし、それを自動的に設定するのに問題があり、オプションを使用したくありません。私自身.vimrc
は干渉しません(名前を変更しても同じ結果になります)。
vim ヘルプから ( :help ftplugin-override
)
以前に別のマシンでこのオプションを使用したことがあり、それは機能しました。私はもう試した
filetype
最初の行は( return cpp ) を正しく設定してい:set ft?
ますが、構文の強調表示は私が言ったのと同じではありません。それはまだ構文の強調表示です。2 行目は何もしません。:set ft=cpp
tcl
$VIMRUNTIME
ディレクトリに/usr/share/vim/vim72/ftplugin/
というファイルがないようですtcl.vim
。
1と同じ効果があります。他に試せることはありますか?よろしくお願いします。
vim - 整然または無秩序に互いに続くVim構文領域
シンタックスハイライトについてはすでに質問しましたが、これは(私には)異なっているようで、Stackoverflowで答えを見つけることができませんでした。
1)VimでTodoリストを作成したいとします。このTodoリストには、タスク+3つの異なる方法で強調表示された「領域」が含まれている必要があります。
- タスク(たとえば、車を洗う)は、常に最初に、強調表示されていないプレーンなテキストのままにする必要があります
- そのことをしなければならない人-私自身-の前に@が付きます。(例)緑色で強調表示したい
- タスクのカテゴリ(ここでは世帯)の前に§があります。黄色にしたい
- タスクの重要性-ここでは後で-、前に#を付けます。これは私が赤くなりたいです。
したがって、結果は(1行で)次のようになります。
車を洗う@myself(緑)§Household(黄色)#Later(赤)
@で始まり、§で終わる最初の領域、§で始まり#で終わる2番目の領域、および#で始まり$で終わる3番目の領域を定義しようとしました。
役に立たない…タスク自体の後に続く、@で始まるすべての表示は緑色で強調表示されます。
私の(許されない)エラーは何ですか?
2)物事をより複雑にするために、私は無秩序な方法でタスクを書き留めて、次のように書くかもしれません:
車を洗う@myself(緑)#Later(赤)§Household(黄色)
この規律の欠如を考慮に入れ、色を正しく保つために、構文をどのように定義する必要がありますか?
前もって感謝します
vim - vimのファイル拡張子に基づいてファイルタイプを変更する
のファイル拡張子に基づいてファイルタイプを変更したいvim
。
私の中に次のコードがあります.vimrc
しかし、拡張ファイルでファイルを開くと、ファイル.md
タイプは変更されません。コマンドを実行する:set ft
と、出力がfiletype=modula2
.
私は何か間違ったことをしていますか?
編集:
古いファイルの名前を変更してデバッグを開始し、.vimrc
この行だけで新しいファイルを作成しました。正常に動作していました。.vimrc
その後、古いファイルを置き換えましたが、すべて正常に動作しているようです。私が使用しているアドオンのいくつかの問題が原因だったと思います。
しかし、これを行う別の方法だと思ったので、ZyXの答えを受け入れます。
vim - VIM solarized で奇妙な背景色の変化
この問題を正確に説明する方法はわかりませんが、ターミナル vim でソラライズされたカラースキーム テーマを使用している場合、テキストを編集すると、行末 (「行末」ではなく、最後の文字からバッファの最後) がいくらか強調表示されます。たとえば<C-e>
、 またはを使用して移動する<C-y>
と、奇妙な強調表示が修正され、背景色になります。
理想的には、これを修正して、背景を常に背景色にしたいと思います。しかし、何が起こっているか、何が強調されているかについての洞察は高く評価されます。
ありがとう、
を押した後にテキストを編集した直後
<C-e>
syntax-highlighting - gVim: シンタックス ハイライト グループを削除
元のタイトルは «言語固有の配色により、単純なものが特定の言語固有のタグに色を付けることができなくなります»でした
私はgVim 7.3を使用しています(Ubuntu 12.04 Arch x86/64では、それが重要です)。
更新 (2013-03-02):
ようやく私の言いたいことを正確に表現できると思います (正しいコマンドが存在するとしても、まだ見つけられませんでした!)。基本的には以下の流れです。
- いくつかの基本的なグループ (ステートメント、コメント、関数など) を定義する小さなフットプリントカラースキームでセッションを開始します。
- より具体的なグループ (vimCommand、hsImport、rubyBeginEnd など) を定義する「より大きな」配色 (Solarized や Jellybeans など) に切り替えます。これらのより具体的なグループは、基本的なグループよりも優先されます。
- 「より小さな」配色 (特定のグループを定義しない配色) に切り替えます。
その結果、セッションは「ホームレス」グループで雑然とし、基本的な単語がわかりにくくなり、一部の単語がまったく強調表示されなくなります。これらのホームレス グループは次のようになります。
入力 :hi vimCommand
Enter
出力 vimCommand xxx cleared
ちなみに、Solarized の github issue tracker で同様のことが経験され、発行されています → Vim のカラースキームは、切り替えると破壊の跡が残ります
更新 (2012 年 11 月 25 日):
おそらく、良い解決策は、現在のセッションの「ハイライト」変数をクリアすることです ( 、 、 などsmartindent
の変数についてではなくencoding
、 、などの変数、つまり 、 などのコマンドで定義された変数について話しているのです)。
誰かがそれがメモリにどのように格納されているかを説明できれば、それを消去する方法を理解するのに役立つかもしれません (セッションを保存してから調べてみましたが、構文を強調表示する変数の痕跡はありません)。number
Statement
Comment
rubyClass
xmlTag
hi link ...
highlight ...
:mksession mysession.vim
また、これは漠然とした仮定に過ぎませんが、 がハイライト グループ:hi clear
をクリーンアップしないのは、「残り物」が間接的な定義 (例: ) によって定義されているためと思われます。hi link
オリジナル:
デフォルトのカラースキーム ( blueshift の修正版) が読み込まれると、強調表示する必要があるすべてのタグが正しく色付けされます。
セッション中に、デフォルトのカラースキームよりも多くのオプションがあるジェリービーンズのカラースキーム( )に切り替えます。:colo jellybeans
デフォルトの配色 ( ) に再度切り替えると:colo blueshifted
、一部の強調表示が無効になります。
セッションの開始時に、一部の言語固有のタグの動作を指定しない配色を使用すると、それらのタグは既存の色を使用して自動的に色付けされるようです。
ジェリービーンズの言語固有のタグは「キャッシュ」に残り、自動カラーリング機能を無効にする責任があることを私は知っています。自動彩色は損なわれません。
他の配色でも同じことが起こります (たとえば、railscasts.vim は HTML 固有の配色を使用します)。特定性の低い配色に欠落しているタグを追加することで問題を解決できることはわかっていますが、より一般的な解決策を探しています。
質問
これらの自動設定色 (最初の配色が読み込まれたときに使用される) が、より詳細な配色の後に詳細度の低い配色が読み込まれたときに無効にならないようにするにはどうすればよいですか?
カラースキームを変更するときに、セッションキャッシュをクリーンアップできますか (つまり、jellybeans.vim が使用する特定のタグを「セッションキャッシュ」から削除します)?
私の試み これらは、私がさまざまな組み合わせで使用したコマンドですが、役に立ちませんでした:
機能する唯一の方法 (明らかに!) はhi link
、「単純な」配色に欠けているコマンドを手動で再定義することです。しかしもちろん、これは他のカラースキーム (Solarized など) を変更した色で使用しても違いはありません。もちろん、これは「ハイライト グループの残り物をどのように削除しますか?」という質問に対する解決策ではありません。