ft_context.txt For Vim バージョン 9.1. Last change: 2024 Jan 01
これは ConTeXt ファイルタイププラグインのドキュメントである。
NOTE: このプラグインは +vim9script が必要である。
==============================================================================
内容 context.vim ft-context
1. 前書き ft-context-intro
2. コマンド ft-context-commands
3. 設定 ft-context-settings
4. マッピング ft-context-mappings
==============================================================================
ft-context-intro
前書き
ConTeXt は、LaTeX と同じで、TeX 上に構築されたマクロベースの組版システムである:
ConTeXt プラグインは構文ハイライト、組版した ConTeXt 文章の補完とサポートを提
供する。文章を組版するのに推奨する方法は :ConTeXt を使うことである。これは
$PATH 上で見付けた mtxrun スクリプトを動作させる。
コマンドとその環境でよりきめ細かな制御をするには、context.Typeset() を直接使
うことができる (または旧来の Vim script からは context#Typeset())。例えば、
~/context 内にインストールされているバージョンの ConTeXt の場合、以下のよう
にそれを使用する関数を定義できる:
このコードは ~/.vim/after/ftplugin/context.vim に置かれるかもしれない。そし
て、カスタムコマンドを呼び出すためのマッピングを定義することができる:
context.Typeset() は、カスタムの組版コマンドを指定するための 3 番目のオプショ
ナルな引数を受け入れる。これは、パスを受け取り、コマンドをリストとして返す関数
でなければならない。例えば:
大規模なプロジェクトでは、ルートドキュメントと様々な章ファイルで構成されること
がよくある。章ファイルを編集する場合、ルートファイルに切り替えることなく、章
ファイル上で直接 :ConTeXt を呼び出すと便利である。各章ファイルの先頭には、
ルートファイルへの相対パスを指定する "マジック行" を追加することができる。例え
ば:
Vim は、カレントバッファの最初の 10 行内にマジック行を検索する: 見付かった場合
はカレントバッファの文書ではなく、その行で指定された文書が組版される。ルート文
書が Vim で開かれている必要はない。
補完と構文ハイライトを拡張するには、ConTeXt を使用して補助ファイル群を生成して
設定に追加する。設定が ~/.vim にある場合は、これらのコマンドが使用できる:
最後のコマンドは以下の構文ファイルを生成する:
- context-data-context.vim;
- context-data-interfaces.vim;
- context-data-metafun.vim;
- context-data-tex.vim.
同じコマンドを使用して、これらの構文ファイルを更新できる。
ft-context-commands
コマンド
:ConTeXt
カレントバッファの文書を組版するバックグラウンド job を開始する。このコマン
ドは別バッファの文書を組版したい場合、オプションとしてバッファ名を受け入れる。
:ConTeXtLog
カレントバッファの文章ソースに対応するログファイルを編集する。
:ConTeXtJobsStatus
現在バックグラウンドで動作しているジョブ数を表示する。
:ConTeXtStopJobs
現在バックグラウンドで動作している ConTeXt ジョブをすべて停止する。
ft-context-settings
設定
'b:context_ignore_makefile'
'g:context_ignore_makefile'
:make で(同期的な)文章の組版が行える。Makefile が存在し、このオプションが未
設定の場合、通常の make が使用される。このオプションが設定されている場合は、
Makefile が存在していても、代わりに mtxrun が呼び出される。
NOTE: :make を使用する前に、バッファの作業ディレクトリを組版するファイルの
ディレクトリに設定する。
'g:context_extra_options'
mtxrun に渡す追加のオプションのリスト。
'b:context_include'
'g:context_include'
\startGROUP と \stopGROUP の間で有効になる構文ハイライトのファイルタイプ/GROUP
のペアの辞書。デフォルトでは \startXML と \stopXML の間がXMLでハイライトさ
れる。
NOTE: Lua と MetaPost は個別のブロック内では常にハイライトされる。
'g:no_context_maps'
設定時、マッピングは定義されない。
ft-context-mappings
マッピング
tp "reflow TeX paragraph"、TeX での段落を整形する。
i$ "inside inline math block"、インラインの数式ブロック内
部を選択する。
a$ "around inline math block"、インラインの数式ブロックを
選択する。
]] [count] セクションの開始に進む。
[[ [count] セクションの開始に戻る。
][ [count] セクションの終了に進む。
[] [count] セクションの終了に戻る。
]} [count] ブロックの終了 (\stop..., \setup...,
\define...) に進む。
[{ [count] ブロックの開始 (\start..., \setup...,
\define...) に戻る。
vim:tw=78:sw=4:ts=8:noet:ft=help:norl:
これは ConTeXt ファイルタイププラグインのドキュメントである。
NOTE: このプラグインは +vim9script が必要である。
==============================================================================
内容 context.vim ft-context
1. 前書き ft-context-intro
2. コマンド ft-context-commands
3. 設定 ft-context-settings
4. マッピング ft-context-mappings
==============================================================================
ft-context-intro
前書き
ConTeXt は、LaTeX と同じで、TeX 上に構築されたマクロベースの組版システムである:
ConTeXt プラグインは構文ハイライト、組版した ConTeXt 文章の補完とサポートを提
供する。文章を組版するのに推奨する方法は :ConTeXt を使うことである。これは
$PATH 上で見付けた mtxrun スクリプトを動作させる。
コマンドとその環境でよりきめ細かな制御をするには、context.Typeset() を直接使
うことができる (または旧来の Vim script からは context#Typeset())。例えば、
~/context 内にインストールされているバージョンの ConTeXt の場合、以下のよう
にそれを使用する関数を定義できる:
import autoload 'context.vim'
def MyConTeXt()
const env = {'PATH':
printf("%s/context/tex/texmf-<os>-<arch>/bin:%s", $HOME, $PATH)}
context.Typeset("%", env)
enddef
const env = {'PATH':
printf("%s/context/tex/texmf-<os>-<arch>/bin:%s", $HOME, $PATH)}
context.Typeset("%", env)
enddef
このコードは ~/.vim/after/ftplugin/context.vim に置かれるかもしれない。そし
て、カスタムコマンドを呼び出すためのマッピングを定義することができる:
nnoremap <silent><buffer><leader>t <scriptcmd>MyConTeXt()<cr>
context.Typeset() は、カスタムの組版コマンドを指定するための 3 番目のオプショ
ナルな引数を受け入れる。これは、パスを受け取り、コマンドをリストとして返す関数
でなければならない。例えば:
def ConTeXtCustomCommand(path: string): list<string>
return ['mtxrun', '--script', 'context', '--nonstopmode', path]
enddef
return ['mtxrun', '--script', 'context', '--nonstopmode', path]
enddef
context.ConTeXtTypeset("%", v:none, ConTeXtCustomCommand)
大規模なプロジェクトでは、ルートドキュメントと様々な章ファイルで構成されること
がよくある。章ファイルを編集する場合、ルートファイルに切り替えることなく、章
ファイル上で直接 :ConTeXt を呼び出すと便利である。各章ファイルの先頭には、
ルートファイルへの相対パスを指定する "マジック行" を追加することができる。例え
ば:
% !TEX root = ../MyRoot.tex
Vim は、カレントバッファの最初の 10 行内にマジック行を検索する: 見付かった場合
はカレントバッファの文書ではなく、その行で指定された文書が組版される。ルート文
書が Vim で開かれている必要はない。
補完と構文ハイライトを拡張するには、ConTeXt を使用して補助ファイル群を生成して
設定に追加する。設定が ~/.vim にある場合は、これらのコマンドが使用できる:
mkdir -p ~/.vim/syntax/shared
cd ~/.vim/syntax/shared
mtxrun --script interface --vim
cd ~/.vim/syntax/shared
mtxrun --script interface --vim
最後のコマンドは以下の構文ファイルを生成する:
- context-data-context.vim;
- context-data-interfaces.vim;
- context-data-metafun.vim;
- context-data-tex.vim.
同じコマンドを使用して、これらの構文ファイルを更新できる。
ft-context-commands
コマンド
:ConTeXt
カレントバッファの文書を組版するバックグラウンド job を開始する。このコマン
ドは別バッファの文書を組版したい場合、オプションとしてバッファ名を受け入れる。
:ConTeXtLog
カレントバッファの文章ソースに対応するログファイルを編集する。
:ConTeXtJobsStatus
現在バックグラウンドで動作しているジョブ数を表示する。
:ConTeXtStopJobs
現在バックグラウンドで動作している ConTeXt ジョブをすべて停止する。
ft-context-settings
設定
'b:context_ignore_makefile'
'g:context_ignore_makefile'
:make で(同期的な)文章の組版が行える。Makefile が存在し、このオプションが未
設定の場合、通常の make が使用される。このオプションが設定されている場合は、
Makefile が存在していても、代わりに mtxrun が呼び出される。
g:context_ignore_makefile = 0
NOTE: :make を使用する前に、バッファの作業ディレクトリを組版するファイルの
ディレクトリに設定する。
'g:context_extra_options'
mtxrun に渡す追加のオプションのリスト。
g:context_extra_options = []
'b:context_include'
'g:context_include'
\startGROUP と \stopGROUP の間で有効になる構文ハイライトのファイルタイプ/GROUP
のペアの辞書。デフォルトでは \startXML と \stopXML の間がXMLでハイライトさ
れる。
g:context_include = {'xml': 'XML'}
NOTE: Lua と MetaPost は個別のブロック内では常にハイライトされる。
'g:no_context_maps'
設定時、マッピングは定義されない。
g:no_context_maps = 0
ft-context-mappings
マッピング
tp "reflow TeX paragraph"、TeX での段落を整形する。
i$ "inside inline math block"、インラインの数式ブロック内
部を選択する。
a$ "around inline math block"、インラインの数式ブロックを
選択する。
]] [count] セクションの開始に進む。
[[ [count] セクションの開始に戻る。
][ [count] セクションの終了に進む。
[] [count] セクションの終了に戻る。
]} [count] ブロックの終了 (\stop..., \setup...,
\define...) に進む。
[{ [count] ブロックの開始 (\start..., \setup...,
\define...) に戻る。
vim:tw=78:sw=4:ts=8:noet:ft=help:norl: