Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
84 changes: 45 additions & 39 deletions doc/syntax.jax
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
*syntax.txt* For Vim バージョン 9.1. Last change: 2025 Oct 07
*syntax.txt* For Vim バージョン 9.1. Last change: 2025 Oct 14


VIMリファレンスマニュアル by Bram Moolenaar
Expand Down Expand Up @@ -1932,7 +1932,7 @@ HTMLファイルのタグ用の構文ファイルは以下のように動作す
:let html_my_rendering=1

この例については以下からmysyntax.vimをダウンロードすること。
https://www.fleiner.com/vim/download.html
https://web.archive.org/web/20241129015117/https://www.fleiner.com/vim/download.html

次の行をvimrcに加えればこの描画を無効にできる: >
:let html_no_rendering=1
Expand Down Expand Up @@ -2157,13 +2157,16 @@ Note これら 3 つの変数は HTML 構文ファイルで維持されること
数字と文字列は、以下で Javadoc 以外のコメントでも認識される >
:let g:java_comment_strings = 1

'foldmethod' が "syntax" に設定されている場合、コードブロックと複数行コメント
は折り畳まれる。複数行コメントの最初の行には通常テキストが書かれていないため、
'foldmethod' が "syntax" に設定されている場合、複数行のコードブロック ("b")、
プレーンコメント ("c")、Javadoc コメント ("d")、および隣接する "import" 宣言
("i") はデフォルトで折り畳まれる。サポートされている種類の構文項目は、その省略
名が以下の方法でリストから削除された場合、折り畳まれない: >
:let g:java_ignore_folding = "bcdi"
複数行コメントの最初の行には通常テキストが書かれていないため、
デフォルトの 'foldtext' 値では、Javadoc コメントの折り畳まれた内容は情報が少な
くなる。この方法で書かれたコメントの場合は 2 行目の内容を表示し、それ以外の場
合は 1 行目の内容を表示するように以下で選択できる >
:let g:java_foldtext_show_first_or_second_line = 1

Javadoc コメント内の HTML タグは、|html-folding| に記載されている指示に従い、
以下に明示的に同意することでさらに折り畳むことができる >
:let g:java_consent_to_html_syntax_folding = 1
Expand Down Expand Up @@ -3285,6 +3288,9 @@ RESTRUCTURED TEXT *rst.vim* *ft-rst-syntax*
Note 一部のプラットフォームでは、折りたたみによってパフォーマンスの問題が発生
する可能性がある。

最小の行構文同期は 50 に設定されている。この数値を変更するには: >
let rst_minlines = 100


REXX *rexx.vim* *ft-rexx-syntax*

Expand Down Expand Up @@ -4168,8 +4174,8 @@ ZSH *zsh.vim* *ft-zsh-syntax*
"skip" を使うとパターン "end" にマッチするのを避けることができる。

複数の構文アイテムを1つの構文グループに入れることができる。構文グループにはハ
イライト属性を与えることができる。例えば、"/* .. */" のコメントを定義する要素
と "// .." のコメントを定義する要素を作り、両方を "Comment" グループに入れる。
イライト属性を与えることができる。例えば、"/* ... */" のコメントを定義する要素
と "// ..." のコメントを定義する要素を作り、両方を "Comment" グループに入れる。
そして "Comment" を青のボールドフォントで表示するように指定すると、両方のタイ
プのコメントに対して同じハイライトがされるようになる。1つの構文要素に対し1つの
構文グループを作ってもよいし、すべての要素を1つのグループに入れてもよい。これ
Expand Down Expand Up @@ -4363,9 +4369,9 @@ ZSH *zsh.vim* *ft-zsh-syntax*
[keepend]
[extend]
[excludenl]
start={start-pattern} ..
start={start-pattern} ...
[skip={skip-pattern}]
end={end-pattern} ..
end={end-pattern} ...
[{options}]

リージョンを定義する。複数行にわたってもよい。
Expand Down Expand Up @@ -4680,7 +4686,7 @@ fold *:syn-fold*


*:syn-contains* *E405* *E406* *E407* *E408* *E409*
contains={group-name},..
contains={group-name},...

引数 "contains" の後には構文グループ名のリストを続ける。"contains" で指定され
たグループは、そのアイテムの内側で始まることを許可される(内包されるグループに
Expand All @@ -4693,7 +4699,7 @@ contains=ALL
containsリストが "ALL" だけのとき、全てのグループがこのアイテ
ムの内側で許可される。

contains=ALLBUT,{group-name},..
contains=ALLBUT,{group-name},...

containsリストの最初の要素が "ALLBUT" のとき、{group-name}で列
挙したグループを除く全てのグループがこのアイテムの内側で許可さ
Expand All @@ -4703,13 +4709,13 @@ contains=ALLBUT,{group-name},..
contains=TOP
containsリストの最初の要素が "TOP" のとき、引数 "contained" を
持たないグループ全てが許可される。
contains=TOP,{group-name},..
contains=TOP,{group-name},...
"TOP" と同様だが、{group-name}に列挙したグループは除かれる。

contains=CONTAINED
containsリストの最初の要素が "CONTAINED" のとき、引数
"contained" を持つグループ全てが許可される。
contains=CONTAINED,{group-name},..
contains=CONTAINED,{group-name},...
"CONTAINED" と同様だが、{group-name}に列挙したグループは除かれ
る。

Expand All @@ -4731,7 +4737,7 @@ contains=CONTAINED,{group-name},..
る。これはハイライトされる範囲も制限することに注意。


containedin={group-name}... *:syn-containedin*
containedin={group-name}.... *:syn-containedin*

引数 "containedin" の後には構文グループ名のリストを続ける。するとこのアイテム
がそれらのグループの内側で始まることが許可される。これは外側のアイテムが引数
Expand All @@ -4744,7 +4750,7 @@ containedin={group-name}... *:syn-containedin*
Note |:syn-transparent| 領域は、独自の |:syn-contains| リストを強制することに
注意。

{group-name}...の指定の仕方は前述の "contains" と同様である。
{group-name},... の指定の仕方は前述の "contains" と同様である。

これは構文アイテムを後から追加するときに便利である。既に定義されているアイテム
の定義を変更することなく、その内側にアイテムを含めることができる。例えば、Cの
Expand All @@ -4758,7 +4764,7 @@ Note |:syn-transparent| 領域は、独自の |:syn-contains| リストを強制
|:syn-contains|、|:syn-transparent| も参照。


nextgroup={group-name},.. *:syn-nextgroup*
nextgroup={group-name},... *:syn-nextgroup*

引数 "nextgroup" の後には構文グループ名のリストをコンマ区切りで続ける
("contains" と同様。パターンを使うこともできる)。
Expand Down Expand Up @@ -5002,23 +5008,23 @@ skipパターンも "\n" を含んでよい。ただし次の行の最初の文
==============================================================================
9. クラスタ *:syn-cluster* *E400*

:sy[ntax] cluster {cluster-name} [contains={group-name}..]
[add={group-name}..]
[remove={group-name}..]
:sy[ntax] cluster {cluster-name} [contains={group-name},...]
[add={group-name},...]
[remove={group-name},...]

このコマンドを使うと、複数の構文グループを1つの名前のもとにまとめることができ
る。このまとまりのことをクラスタと呼ぶ。

contains={group-name}..
contains={group-name},...
クラスタに含まれるグループを指定する。
add={group-name}..
add={group-name},...
指定したグループをクラスタに加える。
remove={group-name}..
remove={group-name},...
指定したグループをクラスタからとり除く。

定義したクラスタはcontains=..やcontainedin=..、nextgroup=..、add=..、remove=..
などの文脈で使うことができる。そのとき、クラスタ名の頭に "@" をつける。クラス
タを定義する前にそのクラスタ名を使用してもよい
定義したクラスタは contains=...、containedin=...、nextgroup=...、add=...、
remove=... などの文脈で使うことができる。そのとき、クラスタ名の頭に "@" をつけ
る。クラスタを定義する前にそのクラスタ名を使用してもよい

例: >
:syntax match Thing "# [^#]\+ #" contains=@ThingMembers
Expand Down Expand Up @@ -5216,7 +5222,7 @@ Note: "*/" を含む文字列で行をまたぐものがあると、Cコメン
ターンの数が減るとそれだけ速くなる。]

*syn-sync-grouphere* *E393* *E394*
:syntax sync match {sync-group-name} grouphere {group-name} "pattern" ..
:syntax sync match {sync-group-name} grouphere {group-name} "pattern" ...

シンクロナイズ用に使うマッチを定義する。{group-name}はマッチのすぐ後に
続く構文グループの名前である。ハイライトのためのテキストのパースはマッ
Expand All @@ -5225,7 +5231,7 @@ Note: "*/" を含む文字列で行をまたぐものがあると、Cコメン
プが続かない場合は "NONE" を使う。

*syn-sync-groupthere*
:syntax sync match {sync-group-name} groupthere {group-name} "pattern" ..
:syntax sync match {sync-group-name} groupthere {group-name} "pattern" ...

"grouphere" と同様。ただし{group-name}はシンクロナイズポイントの検索が
始まる行の行頭で使われる構文グループの名前である。マッチとシンクロナイ
Expand All @@ -5237,8 +5243,8 @@ Note: "*/" を含む文字列で行をまたぐものがあると、Cコメン
文字列の中に "/*" と "*/" があるかもしれないので、もう少し込み入ってい
る。これは読者の練習問題としておく...)。

:syntax sync match ..
:syntax sync region ..
:syntax sync match ...
:syntax sync region ...

引数 "groupthere" なしの場合。シンクロナイズポイントの検索の際にスキッ
プされるリージョンやマッチを定義する。
Expand All @@ -5258,7 +5264,7 @@ Note: "*/" を含む文字列で行をまたぐものがあると、Cコメン
:syntax sync clear

あるシンクロナイズパターンをクリアするには: >
:syntax sync clear {sync-group-name} ..
:syntax sync clear {sync-group-name} ...

==============================================================================
12. 構文アイテムのリストを表示する *:syntax* *:sy* *:syn* *:syn-list*
Expand Down Expand Up @@ -5392,7 +5398,7 @@ https://github.com/vim/colorschemes/blob/master/legacy_colors/
1つのハイライトグループに対するハイライトを無効にする。
デフォルトの色に戻すわけではない。

:hi[ghlight] [default] {group-name} {key}={arg} ..
:hi[ghlight] [default] {group-name} {key}={arg} ...
ハイライトグループを追加する、または既存のグループに対
する強調を変更する。指定された色の名前が認識されない場
合、'runtimepath' 上で見付かる各
Expand Down Expand Up @@ -5713,7 +5719,7 @@ guisp={color-name} *highlight-guisp*
他人に信頼されるカラーリストを開発したい場合は、カラー名にプリフィック
スを付けるとよい。慣例により、これらのカラーリストは colors/lists ディ
レクトリに配置される。その例を
'$VIMRUNTIME/colors/lists/csscolors.vim' で見ることができる。このリス
"$VIMRUNTIME/colors/lists/csscolors.vim" で見ることができる。このリス
トは、以下を使用したカラースキームによって読み込まれる: >

:runtime colors/lists/csscolors.vim
Expand Down Expand Up @@ -6010,11 +6016,11 @@ C 構文ファイルは次の行を含んでいる: >
はすべての構文がなくなるからである。

カレントバッファに対する特定の構文グループを消去するには: >
:syntax clear {group-name} ..
:syntax clear {group-name} ...
これは{group-name}に対する全てのパターンとキーワードを消去する。

カレントバッファに対する特定の構文グループリストを消去するには: >
:syntax clear @{grouplist-name} ..
:syntax clear @{grouplist-name} ...
これは{grouplist-name}の中身を空リストにセットする。

*:syntax-off* *:syn-off*
Expand Down Expand Up @@ -6291,7 +6297,7 @@ Setup→Font→Enable Boldが無効になっていることを確認すること


==============================================================================
20. シンタックスが遅い時には *:syntime*
20. シンタックスが遅い時には *:synti* *:syntime*

この章はシンタックスファイルを作る人向けである。

Expand All @@ -6312,15 +6318,15 @@ Note: |+profile| 機能付きでコンパイルされた時のみ利用可能で
これにより利用されたシンタックスパターンが、マッチにかかった時間の多い順にソー
トして表示される。

:syntime on シンタックスにかかる時間の測定を開始する。測定をするに
:synti[me] on シンタックスにかかる時間の測定を開始する。測定をするに
はシンタックスパターンのマッチに多少のオーバーヘッドが
発生する。

:syntime off シンタックスの計測を終了する。
:synti[me] off シンタックスの計測を終了する。

:syntime clear 全部のカウンタを 0 にし、計測をやり直す。
:synti[me] clear 全部のカウンタを 0 にし、計測をやり直す。

:syntime report 現在のウィンドウで ":syntime on" してから使用されたシ
:synti[me] report 現在のウィンドウで ":syntime on" してから使用されたシ
ンタックス要素を表示する。出力される内容をちゃんと読む
には幅の広いディスプレイを使ったほうが良い。

Expand Down
Loading