タグ付けされた質問 「syntax-highlighting」

構文の強調表示とは、色、サイズ、書体、またはその他の属性を使用して、特別な意味があることを視覚的に示し、テキストを理解しやすくすることです。たとえば、言語のキーワードを特定の色でマークします。

1
「self」などのPythonキーワードの「欠落」構文強調表示を修正するにはどうすればよいですか?
Pythonの構文強調表示を修正しようとしています。私の色は、さまざまなvimの配色で「あるはず」に見えるスクリーンショットの色とは異なります。.rb(正しく表示されます)と.pyを比較すると違いがわかります。 たとえば、selfが強調表示されていないことに注意してください。(これはbase16にありますが、比較は他の配色でも同様です)。一般に、オブジェクト構文の強調表示が間違っているようです。 私が試したいくつかのこと: vimがロードする構文スクリプトを見る。下の例の.pyと.rbの唯一の違いは、もちろん、rubyはindent / ruby​​.vimとsyntax / ruby​​.vimを取得するのに対し、pythonはindent / python.vimとsyntax / python.vimを取得することです。これらは、homebrew vimに付属するファイルです。 同じファイルをターミナル(iterm2)vimではなくmacvimにロードします。同じ問題、ファイルは図とまったく同じに見えます。 新しいpython.vimファイルを追加します。.vim/afterスクリプトとして使用しても問題は解決しません。 どんな提案も大歓迎です。私は何時間もこれに頭を悩ませており、ハイライトが期待どおりに機能しない理由を理解できません。

1
カスタムの強調表示ルールはどこに属しますか?
たまに、デフォルトの構文強調表示の色とスタイルを自分の好みで上書きしたい。 これを行う最も適切な方法は、自分のカラースキームを作成することだと思います。しかし、いくつか質問があります。 特定の言語で特定の構文グループにハイライトを設定したい場合、これは私のカラースキームに属しafter/syntax/[filetype].vimますか、それとも配置した方が良いですか? highlight jsAssignExpIdent cterm=bold gui=bold 私が取り組んでいる言語がロードされるため、colorschemeにあいまいな言語固有のルールを配置するのは少し奇妙に見えますが、構文ファイルに強調表示ルールを配置することはさらに悪いようです。 時々、特定の言語の新しい構文規則を作成しますafter/syntax/[filetype].vim。他のユーザーがこれらの拡張機能を使用したい場合に備えて、一般的なデフォルトのハイライトグループにリンクするデフォルトのハイライトルールを提供するのが適切でしょうか?別のユーザーがそのハイライトの色を上書きしたい場合、どうすればいいですか? ::::: after/syntax/asm.vim ::::: syn match asmHexNumber /\(0x\|\$\)[0-9A-Fa-f]\+/ highlight default link asmHexNumber Number

3
Vimは構文をオンにして時間をかけて遅くなります
syntax onVimを使用する際に守れることはありますか? 実質的なものを開くとすぐに、しばらくすると編集することがほぼ不可能になります。キーを押すたびに遅延が発生します。構文の強調表示をオフにするか、vimを再起動すると、問題ありません。 私はsynmaxcol120に設定しました。サンプルのルビファイルは59行のみで、80文字を超えません。 とを使用vim-rubyしていvim-railsます。 問題は、遅延が時間の経過とともに蓄積するように見えることです。ファイルを最初から開くと問題ありません。しばらくすると、だんだん遅くなります。

1
選択時にmatchit.vimで定義された一致する「%」名(if / end、for / endなど)を強調表示するにはどうすればよいですか?
現在、私のVimは一致する括弧、角括弧、引用符などをシアンの背景と白の前景で強調表示しています-でカーソルをこれらの間で移動できます%。matchit.vimのおかげで%、if / end、for / endなどを切り替えることもできます。ただし、これらは選択時に強調表示されません。 括弧で自動的に行われるように、選択時にこれらの一致するペアを自動的に強調表示するにはどうすればよいですか? さらに、これらのペアに使用されている背景色をどのように変更でき:highlightますか? 前もって感謝します。 以下の@Tommy Aの回答を更新して、不十分に指定されたmatchit.vimグループや、%オペレーターがカーソルを元の位置に戻さないその他の状況を説明しました。「while」ループの違いを確認してください。このスレッドを読む人は、このバージョンを使用して、無限ループを回避することをお勧めします。 function! s:get_match_lines(line) abort " Loop until `%` returns the original line number; abort if " (1) the % operator keeps us on the same line, or " (2) the % operator doesn't return us to the same line after some …

1
ローカルvimrcに構文強調表示ルールを追加するにはどうすればよいですか?
FedoraとWin7の両方にgvimをインストールしました。Fedoraのvimとgvimはどちらもcコードの関数名を強調表示していませんが、win7のgvimは強調表示しています。 win7ではvim73/syntax/c.vim、最後に追加の行があることがわかりました。 syn match cFunction "\<[a-zA-Z_][a-zA-Z_0-9]*\>[^()]*)("me=e-2 syn match cFunction "\<[a-zA-Z_][a-zA-Z_0-9]*\>\s*("me=e-1 hi cFunction gui=NONE guifg=#B5A1FF これらの行をc.vimFedoraのに追加すると、gvimは関数名も強調表示できます。 移植性を維持するため.vimrcに、関数名を強調表示するように変更するだけです。ただし、これらの行をに追加した後.vimrc、機能しませんでした。 それで、誰かが私を助けることができますか?私は検索を行いましたが、vimで関数名を強調表示するための多くの解決策があります。しかし、私はこれらのラインをで機能させる方法に興味があります.vimrc。どうもありがとう!


3
Vim 7.4で.vimrcの強調表示コマンドをすぐに有効にするにはどうすればよいですか?
ファイルにいくつかのhighlightコマンドがあり.vimrcます。Vim 7.3では、これらはVimの起動直後に有効になりました。Vim 7.4にアップデートした後、これはもう当てはまりません。Vimは最初はデフォルトの強調表示を使用します。を.vimrc実行して2回目の読み込みを行うとsource ~/.vimrc、強調表示が思い通りに機能します。 次の手順を使用してこの問題を再現できるはずです。 .vimrcファイルのコピーを作成します。 ~/.vimrc行だけを含むファイルに置き換えますhighlight Type ctermfg=28 cterm=bold。 実行vim dummy.c(例えばGNOME端末用)256カラー端末に。 intバッファに入力します。int通常のフォントで表示され、私が欲しいものではありません色のライトグリーン、でなければなりません。 と入力し:source ~/.vimrcます。これで、intは太字のフォントで表示され、濃い緑色になります。 「vimの色を制御/構成する方法」の記事によると、highlightコマンドをに配置するだけで問題ありません.vimrc。記事はコマンドのsyntax enable後に置くべきだと言っていますhighlightが、これは何の違いもありませんでした。 私の最初の修正は、それぞれ前に付加することだったhighlightにコマンドを.vimrc持ちますautocmd VimEnter *。これは一部のファイルタイプでは機能しましたが、他のファイルタイプでは機能しませんでした(Cファイルは一例です)。 この動作の理由は何ですか?highlightVimの起動時にコマンドを実行して、Vimセッション全体のすべてのバッファーでコマンドを有効にする方法

1
単一引用符で区切られた数値リテラルのVim構文の強調表示
C ++ 14では、単一引用符を使用して大きな数値リテラルの桁を区切るオプションが提供されました。これはVimの構文強調表示を壊します。 たとえば、次のC ++ 14プログラムを考えてみます。 #include <stdlib.h> int main(int argc, char** argv) { // small numbers are fine int normal_number = 5; // large numbers have the correct highlighting but they're hard to visually parse int huge_number = 1000000000; // apostrophes help with visual parsing but mess up syntax …


3
強調表示されたソースコードをファイルに出力してvim外で使用する方法
私の職場では、私たちが抱えていたいくつかの問題を解決するために開発したカスタム言語のプレゼンテーションをしたいと思います。開発を容易にするために、この特定の言語用に独自のvim構文ファイルを作成しました。 今、私はそれを別のコンピュータに提示する必要がありますが、その構文ファイルはありません。私が知っていることすべてのために、それはvimがインストールされていないかもしれません(しかし私はそれを疑います)。 less -r自分のコンピューターで行うのと同じ構文の強調表示をファイルで取得できれば完璧です。 ただし、(Debianのgnomeからのターミナルで)色を保持しながらコピーして貼り付ける方法、またはvimから生の制御文字として構文を強調表示してファイルを出力する方法がわかりません。私はvimから解決策を見つけることに自信がありますが、それを行うために何を探すべきかわかりません。 開いたファイルの構文を強調表示して別のファイルのANSI raw-control-charsとして出力する方法を知っていますか?

4
カーソル線セット付きのSpecialKey前景色
ではこのQ&A、のためのハイライトグループが存在することが観察さだCursorLineNrときカーソル行の行番号に適用され、set cursorlineオンになっているが。 カーソルラインを使用すると、別のハイライトグループの色も変わることに気づきましたSpecialKey。 set list listchars=tab:\|_,trail:- 私にとってのこの問題は、暗い背景(したがって、暗いカーソルライン)を使用していることです。私の通常のSpecialKey設定も非常に暗いので、listcharシンボルはわずかにしか見えません。しかし、cursorline それらを使用すると白になり、trailcharが実際にヒットしたことと区別がつかなくなり-ます。トレイル文字は、行の終わりにスペースを入力するたびに使用されるため、これは小さな問題ではありません。通常、最初から最後まで行を入力するには、作業中にダッシュのタイプミスと簡単に区別できるいくつかのスペースが必要です(または、ダッシュを意図した場合はスペースのタイプミス)。 他のハイライトグループは影響を受けていないようなので、などCursorLineNrが適用されていると思われますが、hiリストを見ると適切なものは何もありません。 これが何か知っている人はいますか?さらに良いことに、カーソル線のハイライトグループを変更する方法を知っている人はいますか?

1
構文ファイルから重要なキーワードをエスケープする方法は?
私は構文ファイルでこの行に出くわしました。それは機能しません: syntax keyword Type Transparent これはtransparent、Vimにとって重要なキーワードであるという事実と関連があると思います。 それをエスケープし、実際の単語をTransparent他のすべてのType単語と同じようにファイルに色付けするにはどうすればよいですか?私のような他の厄介なキーワードaccross 1日つまずく場合はどうkeyword、syn、matchなど?

2
マークダウン:太字と斜体を通常のテキストとは異なる色で構文強調表示する方法は?
マークされたテキスト__bold__または_italic_通常のテキストと同じ色で表示されるテキスト。 見出しとコードは異なる色で表示されるため、vimはファイルをマークダウンとして正しく認識します。 これは、私が使用するカラースキームに関係ありません。 Markdownで太字または斜体としてマークされたテキストを独自の色で強調表示することはできますか? PS私はXubuntu Linuxでフルvimインストール(vim-tinyではない)バージョン7.4を使用しています。 こんな感じです。前の行は見出しなどが機能することを示していますが、22〜26行目には、デフォルトとは異なる方法で強調表示されているはずのテキストが含まれてい:colorscheme defaultます。

2
あいまいなファイル拡張子に対して正しいオートコンプリートを取得するにはどうすればよいですか?
私は探索的プロジェクトの一部としてPrologファイルを編集してい.plます。作業しているファイルの一部には、Perlファイルによって共有される拡張子があります。という名前のPrologファイルで作業するときはいつでも[somefile].pl、VimはPrologではなくPerlの構文強調表示とエラー検出を提供します。Perlの構文強調表示を完全に無効にしたり.pl、Prologとして認識されるように強制したりできますが、問題を修正するためのより独裁的な方法がないかどうか知りたいです。プログラムで構文の強調表示を設定する方法、または何らかのキーの組み合わせを使用して、PerlファイルではなくPrologファイルを編集していることをVimに伝える方法はありますか?

1
Pythonクラス名の強調表示を変更するにはどうすればよいですか?
MyClassvimでPythonクラス名を強調表示する構文を定義するにはどうすればよいですか? class MyClass(object): ...... Vimはすでにクラス名を強調表示しています。ただし、関数名で同じように強調表示されているようです。2つのカテゴリを強調するより良い方法がありますか? それは正しい方法syn match ...ですか?デフォルトでsyntax/python.vim、私はこれを見つけました: syn match pythonFunction "\h\w*" display contained 私は試しましたが、私のsyn定義は間違っているはずです、それは機能しません。 syn match pythonClassName "^class \(*\):" display contained call HI('pythonClassName', 124, '', 'bold', 'bold') HI()は自己定義関数であり、pythonStatement正常に変更するために使用しました。 実際のところ、それが本当に何をしているのかはわかりません。それはただの試みです。誰かが私にいくつかのヒントをくれますか?ありがとう!

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