*helphelp.txt*	For Vim バージョン 9.1.  Last change: 2025 Dec 02


		  VIM リファレンスマニュアル	by Bram Moolenaar


ヘルプのヘルプ						*helphelp*

1. ヘルプコマンド		|online-help|
2. 翻訳ヘルプ			|help-translated|
3. ヘルプファイルの書き方	|help-writing|

==============================================================================
1. ヘルプコマンド					*online-help*

			*help* *<Help>* *:h* *:help* *<F1>* *i_<F1>* *i_<Help>*
<Help>		or
:h[elp]			新しいウィンドウを作成し、ヘルプファイルを読み込み専用
			で開きます。ヘルプウィンドウがすでに開いているときはそ
			のウィンドウを使います。カレントウィンドウの幅がスク
			リーンと同じか、80 文字分以上のときにはヘルプウィンド
			ウはカレントウィンドウのすぐ上に作成されます。そうでな
			いときには、ヘルプウィンドウは最上部に作成されます。
			複数言語のヘルプが利用可能なときは、言語を選択するため
			に、オプション 'helplang' が参照されます。

						*{subject}* *E149* *E661*
:h[elp] {subject}	":help" と同じですが、加えて、{subject} へタグジャンプ
			します。例えば: >
				:help options

<			{subject} には "*", "?"、"[a-z]" といったワイルドカー
			ドも指定できます。
			   :help z?	"z" コマンドのいずれかのヘルプを開く
			   :help z.	"z." のヘルプを開く
			ですが、タグが存在するときは、文字通りにとられます。
			   :help :?	":?" のヘルプを開く

			パターンに完全に一致する項目が無かった場合、または、複
			数の項目が一致した場合には、"最善" の一致が選択されま
			す。洗練されたアルゴリズムで最善な項目が決定されます。
			次のような優先順位が使われます:
			- 大小文字が一致したほうが、しない時よりも良い
			- 非英数字のあとにマッチするほうが、単語の真ん中にマッ
			  チするものよりも良い。
			- タグ名の先頭でマッチするか、なるべく先頭に近いほう
			  が、そうでないものよりも良い。
			- より多くの英数字がマッチするほうが良い。
			- 短いマッチが良い。

			{subject} のヘルプが複数の言語にある場合には、言語を選
			択するために、オプション 'helplang' が参照されます。
			言語を指定してタグを検索するには {subject} に "@ab" を
			付加します。"ab" は2文字の言語コードです。
			|help-translated| を参照。

			長い {subject} を与えても、より短いものにマッチするこ
			ともあります。この動作はコマンドラインの補完を考えると
			わかりやすいでしょう (":help subject" の後でCTRL-Dをタ
			イプしてみてください |c_CTRL-D|)。
			複数の候補がある場合には、CTRL-Dを押すことで一覧を見る
			ことができます。例: >
				:help cont<Ctrl-D>

<			例えば CTRL-V のヘルプを引くときに ":help CTRL-V" とタ
			イプする代わりに次のようにすることもできます: >
				:help ^V
<			これは他の文字付きでも機能します。例えば挿入モードの
			CTRL-V の動作を調べるには次のようにします: >
				:help i^V
<
			まず ":help" を実行し、その後、ヘルプウィンドウで
			":tag {pattern}" を実行することもできます。":tnext" コ
			マンドでその他の項目へ移動することができ、":tselect"
			でマッチした候補の一覧から選択することができます。 >
				:help index
				:tselect /.*mode

<			引数が指定されていない場合は "help" にマッチするものが
			表示されます (すべての候補にマッチしてしまうのを防ぐた
			め。そのような処理は時間がかかります)。
			マッチした候補は最大で 300 件まで表示されます。

			`:help` コマンドの後ろには '|' で他のコマンドを続ける
			ことができます。しかし、'|' のヘルプを引くのに '|' を
			エスケープする必要はありません。したがって、次の例はど
			ちらも正しく機能します: >
				:help |
				:help k| only
<			Note: '|' の直前の空白があると ":help" コマンドの引数
			の一部として解釈されてしまいます。
			ヘルプコマンドと続くコマンドを区切るには <NL> と <CR>
			も使えます。<NL> や <CR> を入力するには、CTRL-V を使い
			ます。例: >
				:help so<C-V><CR>only

:h[elp]! [subject]	":help" と同じですが、非英語のヘルプファイルを開いてい
			るときには、それと同じ言語を優先します。
			|help-translated|も参照。

							*:helpc* *:helpclose*
:helpc[lose]		ヘルプウィンドウがあれば、1つ閉じます。
			Vimは、ウィンドウレイアウト(カーソル位置を含む)を、最
			初にヘルプウィンドウを開く前と同じレイアウトに復元しよ
			うとします。これにより、いくつかの自動コマンドがトリ
			ガーされる場合があります。

							*:helpg* *:helpgrep*
:helpg[rep] {pattern}[@xx]
			すべてのヘルプファイルから {pattern} を検索して、マッ
			チした行の一覧を作成します。そして最初にマッチした行へ
			ジャンプします。
			[@xx] を指定した場合は、言語 "xx" のヘルプのみマッチし
			ます。
			|quickfix|コマンドを使ってマッチした行の一覧を順に移動
			できます。例えば、|:cnext|で次の項目へジャンプしたり、
			|:cwindow|でマッチした行の一覧をquickfixウィンドウに表
			示できます。
			{pattern} には Vim の正規表現|pattern|を使用できます。
			'ignorecase' は影響しません。大文字と小文字を区別しな
			いためには "\c" を使ってください。
			大文字と小文字を区別して検索する例: >
				:helpgrep Uganda
<			区別しない例: >
				:helpgrep uganda\c
<			フランス語のヘルプを検索: >
				:helpgrep backspace@fr
<			改行を含むパターンはサポートされていません。一行内で
			マッチするようにしてください。代わりに |:grep| を使用
			することもできますが、その場合は、どうにかして検索結果
			からヘルプファイルの一覧を取得する必要があります。
			他のコマンドを後ろに続けることはできません。すべての文
			字はパターンの一部として解釈されます。必要なら
			|:execute| を使ってコマンドを並べることができます。
			圧縮されたヘルプファイルは検索されません(Fedoraはヘル
			プファイルを圧縮します)。

							*:lh* *:lhelpgrep*
:lh[elpgrep] {pattern}[@xx]
			":helpgrep" と同じですが、quickfixリストではなく、
			locationリストを使います。ヘルプウィンドウがすでに開い
			ている場合は、そのウィンドウのlocationリストを使いま
			す。開いていない場合は、新しいヘルプウィンドウを作成
			し、そのウィンドウのlocationリストをセットします。この
			コマンドを実行した際のカレントウィンドウのlocationリス
			トは変更されません。

							*:exu* *:exusage*
:exu[sage]		Ex コマンドのヘルプを表示します。Nvi との互換性のため
			追加されました。

							*:viu* *:viusage*
:viu[sage]		ノーマルモードコマンドのヘルプを表示します。Nvi との互
			換性のため追加されました。

|:help|に引数を指定しなかった場合には 'helpfile' に設定されたファイルが開かれ
ます。引数を与えた場合には 'runtimepath' に設定されたすべてのディレクトリの
"doc/tags" から検索されます。

ヘルプウィンドウの高さの初期値は 'helpheight' で設定できます (標準設定: 20)。

カレントウィンドウで {subject} に関するヘルプを開きたい場合は、helpcurwin オプ
ションパッケージを使用できる。|package-helpcurwin| を参照。

						*help-buffer-options*
ヘルプバッファが作られた時、ヘルプ文章が意図したとおりに表示されるようにするた
めにいくつかのローカルのオプションが設定される:
    'iskeyword'		' '、'*'、'"'、'|' を除くほぼすべてのASCII文字
    'foldmethod'	"manual"
    'tabstop'		8
    'arabic'		off
    'binary'		off
    'buflisted'		off
    'cursorbind'	off
    'diff'		off
    'foldenable'	off
    'list'		off
    'modifiable'	off
    'number'		off
    'relativenumber'	off
    'rightleft'		off
    'scrollbind'	off
    'spell'		off

ある項目へジャンプするにはタグを使います。これには2つの方法があります:
- オプションやコマンド名にカーソルをあわせて "CTRL-]" コマンド使う。これはタグ
  がキーワードの時にだけ使用できます。"<C-Leftmouse>" と "g<LeftMouse>" は
  "CTRL-]" と同じ動作をします。
- ":ta {subject}" コマンドを使う。これはどのような文字でも使用できます。

ジャンプ先から戻るには CTRL-T か CTRL-O を使います。
ヘルプウィンドウを閉じるには ":q" を使います。

探しているものが複数の項目にマッチする場合には、次のようにして各項目にジャンプ
できます:
1. ヘルプウィンドウを開く
2. 調べるタグにスラッシュを付けて ":tag" コマンドを実行する。例: >
	:tag /min
3. ":tnext" を実行してマッチした次の項目へジャンプする。

プラグインなどのために、ヘルプを追加できます。そのために、配布されているヘルプ
ファイルに変更を加える必要はありません。|add-local-help|を参照。

ローカルヘルプファイルを書くには |write-local-help|を参照。

Note: ローカルヘルプファイルのタイトル行 (1 行目) は自動的にヘルプファイル
"help.txt" のセクション "LOCAL ADDITIONS" に追加されます|local-additions|。こ
れは Vim でファイルを開いたときに追加されるので、ヘルプファイル自体は変更され
ません。すべてのヘルプファイルの 1 行目が "LOCAL ADDITIONS" に追加されますが、
$VIMRUNTIME/docにあるファイルは対象外です。

							*help-xterm-window*
他の xterm ウィンドウでヘルプを表示するには、このコマンドを使ってください: >
	:!xterm -e vim +help &
<

			*:helpfind* *:helpf*
:helpf[ind]		|:help|と同じですが、引数を入力するためのダイアログを
			使います。後方互換性のために残されています。現在は組み
			込みのダイアログを使用せず、メニューの
			ToolBar.FindHelp を使います。{|+GUI_GTK|が有効な場合の
			み利用できます}

					*:helpt* *:helptags*
				*E150* *E151* *E152* *E153* *E154* *E670*
:helpt[ags] [++t] {dir}
			ディレクトリ {dir} のヘルプタグファイルを作成します。
			{dir} が ALL なら 'runtimepath' 内の全ての "doc" ディ
			レクトリが対象となります。

			指定されたディレクトリとそのサブディレクトリの "*.txt"
			と "*.??x" というファイルがスキャンされ、スター (*) で
			囲まれたタグ定義が検索されます。"*.??x" というファイル
			は翻訳ヘルプです。"tags-??" というタグファイルが生成さ
			れます。|help-translated|を参照。作成されたタグファイ
			ルはソートされます。
			タグの重複があるときはエラーメッセージが表示されます。
			すでにあるタグファイルは警告なしに上書きされます。

			"++t" 引数を指定すると "help-tags" タグが強制的に追加
			されます。これは、{dir} が $VIMRUNTIME/doc と等しいと
			きにも同様にタグが追加されます。

			ランタイムディレクトリのヘルプタグファイルを作成し直す
			には次のようにします (ファイルの書き込み権限が必要): >
				:helptags $VIMRUNTIME/doc
<
		*:HelpToc* *help-TOC* *help-toc-install* *package-helptoc*

ファイル内の任意の位置から対話的な目次にアクセスしたい場合は、helptoc プラグイ
ンを使用できます。以下のようにプラグインを読込みます: >vim

    packadd helptoc
<
					*HelpToc-mappings*
次に、`:HelpToc` コマンドを使用してポップアップメニューを開くことができます。
後者は、以下のノーマルコマンドをサポートしています: >

	キー| 作用
	----+---------------------------------------------------------
	c   | メインバッファのカーソル位置から最も近いエントリを選択する
	g   | 最初のエントリを選択する
	G   | 最後のエントリを選択する
	H   | 1 レベル折り畳む
	j   | 次のエントリを選択する
	J   | j と同じかつ、メインバッファの対応する行にジャンプする
	k   | 前のエントリを選択する
	K   | k と同じかつ、メインバッファの対応する行にジャンプする
	L   | 1 レベル展開する
	p   | コマンドラインに現在のエントリを表示する

	P   | p と同じだが、選択が変更されるたびに自動的に実行される
	    | 複数回押すと、機能のオン/オフが切り替わる

	q   | メニューを終了する
	s   | ウィンドウを分割し、選択したエントリにジャンプする
	z   | 現在のエントリを中央にしてメニューを再描画する
	+   | ポップアップメニューの幅を広げる
	-   | ポップアップメニューの幅を狭める
	?   | ヘルプウィンドウを表示/非表示にする
	/   | パターンを検索する

	<C-D>      | 半ページ下にスクロールする
	<C-U>      | 半ページ上にスクロールする
	<PageUp>   | ページ全体を下にスクロールする
	<PageDown> | ページ全体を上にスクロールする
	<Home>     | 最初のエントリを選択する
	<End>      | 最後のエントリを選択する

このプラグインは以下のファイルタイプのバッファ: asciidoc、html、man、markdown、
tex、vim、xhtml でも目次を生成できます。さらに、端末バッファ用の目次も作成可能
で、過去に実行したシェルコマンドを項目として表示します。デフォルトでは次のパ
ターンを使用してこれらのコマンドを検索します: >

	^\w\+@\w\+:\f\+\$\s

これは、デフォルトの bash プロンプトにマッチするように意図されています。プロン
プトとマッチしない場合は、`g:helptoc` 辞書変数の `shell_prompt` キーを使用して
正規表現を変更できます: >

	let g:helptoc = {'shell_prompt': 'regex matching your shell prompt'}

Tip: `/` コマンドで検索するパターンを挿入した後、<CR> ではなく <Esc> を押すと、
`J` または `K` を押すことで残りの各エントリの詳細なコンテキストを取得できます。

helptoc の詳細、特にヘルプ以外のファイルタイプでの使用やオプションの設定につい
ては、|helptoc.txt| を参照してください。
Note: |helptoc.txt| に移動する前に `packadd helptoc` を実行する必要があります。

==============================================================================
2. 翻訳ヘルプ						*help-translated*

翻訳ヘルプを追加し、英語のヘルプファイルと共存させることができます。
'runtimepath' の "doc" ディレクトリにあるすべてのヘルプが検索対象になります。
{|+multi_lang|が有効な場合のみ利用できます}

今のところ、以下の翻訳が利用可能です:
	Chinese  - 共同翻訳
	French   - 翻訳者 David Blanchet
	Italian  - 翻訳者 Antonio Colombo
	Japanese - 共同翻訳
	Polish   - 翻訳者 Mikolaj Machowski
	Russian  - 翻訳者 Vassily Ragosin
詳しくは Vim のウェブサイトを参照してください:
	http://www.vim.org/translations.php

翻訳ヘルプファイルの名前は次のようになってます:

	help.abx
	howto.abx
	...
	tags-ab

"ab" は 2 文字の言語コードです。例えばイタリア語なら次のような名前になります:

	help.itx
	howto.itx
	...
	tags-it

{訳注: 日本語の言語コードは ja です。help.jax}

オプション 'helplang' に言語の優先順位を指定できます。初期設定は環境から自動的
に設定されます。ヘルプを検索するときはまず、優先の高い言語からタグが検索されま
す。見つからなかった場合は、英語のヘルプが使われます。

言語を指定してタグを検索するには "@ab" をタグ名に付け加えます。"ab" は 2 文字
の言語コードです。例: >
	:he user-manual@it
	:he user-manual@en
最初の例は、'helplang' が未設定の場合でも、イタリア語のユーザーマニュアルを検
索します。
2 番目の例は、'helplang' が "it" に設定されている場合でも、英語のユーザーマニュ
アルを検索します。

":help" コマンドでコマンドライン補完をするとき、複数の言語でタグが見つかった場
合には "@en" が付加されます。タグが英語だけにある場合には、"@en" は省略されま
す。1番目の候補が "@ab" 拡張子を持ち、'helplang' の1番目の言語とも一致するな
ら、"@ab" も同様に省略されます。

翻訳ヘルプで |CTRL-]| や ":help!" を使うと、同じ言語のタグが検索されます。見つ
からなかった場合は、言語を選択するために 'helplang' が参照されます。

ヘルプファイルのエンコーディングは latin1 か utf-8 にしてください。非 ASCII 文
字が 1 行目にある場合、そのヘルプファイルは utf-8 であると判断されます。ヘッ
ダーの "For Vim version" を翻訳しておくとよいでしょう。

一つのディレクトリの一つの言語のヘルプファイルはすべて同じエンコーディングを
使ってください。別の言語なら別のエンコーディングを使用できます。ディレクトリを
分けた場合は、同じ言語で別のエンコーディングを使用できます。

翻訳のヒント:
- タグは翻訳しない。そうすれば 'helplang' を使って言語の優先順位を指定できま
  す。言語用の新しいタグを追加するのは構いません。
- ファイルの一部を翻訳しない場合は、英語のままタグを追加し、"tag@en" 表記を使
  えるようしてください。
- ヘルプファイルとタグファイルをまとめてダウンロードできるようにしてください。
  そうすれば、ユーザーはそれを "doc" ディレクトリにコピーするだけで使えます。
  開発チームに連絡して、www.vim.org にリンクを追加してもらいます。
- タグファイルを作成するには |:helptags| を使います。指定したディレクトリのす
  べての言語のファイルが処理されます。

==============================================================================
3. ヘルプファイルの書き方				*help-writing*

プラグインのヘルプファイルは最初の行を除いて Vim の標準のヘルプファイルと同じ
書式で書かれていると便利です。あなたが新しいヘルプファイルを書くときは、既存の
ファイルをコピーしてそれをテンプレートとして使用するといいでしょう。

Vim のヘルプファイルでは通常、文の後に 2 つのスペースを使用します (等幅フォン
トを使用して記述されており、これが 70 年代 / 80 年代に好まれたスタイルであった
ため)。こちらで説明されています: https://english.stackexchange.com/a/2602

ヘルプファイルの 1 行目は次のように書きます:

*plugin_name.txt*	{プラグインの短い説明}

最初のフィールドはヘルプファイル名のタグで ":help plugin_name" でジャンプする
先です。行の残りは、以降をタブにし、プラグインの目的について短く記述します。メ
インのヘルプファイルの "LOCAL ADDITIONS" 章に表示されるようになります。そこで
正しく表示されることを確認します: |local-additions|。

バージョン番号や最終更新日時を追加したい場合は、2行目に右揃えで配置します。

ファイルの末尾には Vim のモードラインを書いて 'textwidth' オプションと
'tabstop' オプションを設定し、'filetype' を "help" に設定します。モードライン
でグローバルオプションを設定しないでください、それは望ましくない結果をもたらし
ます。


☆スタイル

Vim で 'modeline' が有効になっている場合、組み込みのヘルプファイルを編集する際
に Vim は自動的に推奨スタイルに従います。

Vim ヘルプファイルは 78 文字の 'textwidth' でフォーマットする必要があります。
これにより、一般的な 80 x 24 ターミナルウィンドウで適切に表示されます。

文末のピリオドと次の文の最初の文字の間には 2 つのスペースを使います。このよう
に。{訳注: 日本語訳では関係ないです。日本語訳には日本語訳のルールがあります}

コンテンツの整列にはタブ文字を使用し、'tabstop' 設定は 8 にします。
これによりファイルサイズの削減にも役立ちます。

編集が終わったら必ず |:retab| を使用してください。 |:retab!| を盲目的に使用せ
ず、常に変更内容を確認して意図しない変更を避けてください。


☆タグ

ヘルプタグを定義するには、名前をアスタリスクで挟みます ("*tag-name*")。
tag-name は他のすべての Vim ヘルプのタグ名とは違う名前になっていて、プラグイン
の名前で始まっているのが理想的です。タグ名は普通は右寄せで書きます。

既存のヘルプタグに言及してそのタグへのリンクを作成するには、名前をバー (|) で
挟みます。例: |help-writing|

Vim コマンドに言及してそのコマンドへのリンクを作成するには、コマンド名をバック
クォートで囲みます。 例: `:filetype` の中。これはコードブロックのようにコマン
ドとしてハイライトされて見えるでしょう。 (下を参照)

Vim オプションについて言及するときは、オプション名をシングルクォートで囲みま
す。例: 'statusline'


☆ハイライト表示

列見出しを定義するにはチルダ文字を行末に付けます。チルダを付けると列見出しが別
の色で表示されます。例:

列見出し ~

ヘルプファイルを節 (section) で区切るときは、'=' 文字を 1 列目から連続して書き
ます。節区切り行は別の色でハイライトされます。

Ex コマンドのブロックを例示するときは、大なり記号 (>) をその直前のブロックの行
末に書き、小なり記号 (<) をその後ろのブロックの前の最初の非空白文字として書き
ます。テキストが 1 列目から始まっている行があると、Ex コマンドのブロックはその
直前で暗黙的に終了となります。例: >

	function Example_Func()
	  echo "Example"
	endfunction
<
コードブロックの構文ハイライトを有効にするには、大なり記号 (>) の後に言語名の
注釈 (例: "vim") を配置します。例: >vim

	function Example_Func()
	  echo "Example"
	endfunction
<
						*g:help_example_languages*
デフォルトでは、ヘルプファイルは Vim script のハイライトのみをサポートします。
他の言語の構文ハイライトが必要な場合は、|vimrc| に以下を追加してください: >
	:let g:help_example_languages = #{
	      \	vim: "vim", vim9: "vim", bash: "sh" }
キーは注釈マーカー名を表し、値は 'syntax' 名です。

Note: "g:help_example_languages" に "vim" を含めない場合、"vim" の構文ハイライ
トは有効になりません。"g:help_example_languages" を空の値に設定すると、埋め込
み言語の構文ハイライトは無効になります。

さらに note: 含まれている 'syntax' スクリプトがそのような趣旨を考慮していない
場合、ヘルプファイルに任意の構文言語を含めることは必ずしも完璧に機能するとは限
りません。
						*help-notation*
Vim ヘルプファイルでは以下のものがそれぞれハイライトされます:
  - 特殊キーの名前。<PageDown> のような <> 表記で書かれたものと、CTRL-X のよう
    に書かれた制御文字。
  - {braces} で囲まれた文字。例: {lhs} と {rhs}

"Note" や "Notes" などの単語もそれぞれハイライトされます。
次のような表示もあります:
	*Todo	something to do
	*Error	something wrong

詳細は $VIMRUNTIME/syntax/help.vim を見てください。


☆ファイルタイプ補完					*ft-help-omni*

タグ参照を記述するときにヘルプタグの補完を取得するには、|i_CTRL-X_CTRL-O| コマ
ンドを使用できます。


☆性別中立な言語
						*gender-neutral* *inclusion*
Vim は、人種、性別などに関係なく、すべての人のためのものです。新規または更新さ
れたヘルプテキストについては、性別に依存しない言語を使用することをお勧めしま
す。一部のヘルプテキストは何年も前のものなので、変更する必要はありません。テキ
ストがどのように表現されているかにかかわらず、我々はユーザーの性別についていか
なる仮定も行いません。目標は、読者が Vim がどのように動作するかを理解すること
であり、正確な表現は二の次です。

多くのオンライン技術スタイルガイドには、性別に依存しない言語に関するセクション
が含まれています。以下にいくつか挙げます: >

	https://developers.google.com/style/pronouns
	https://techwhirl.com/gender-neutral-technical-writing/
	https://www.skillsyouneed.com/write/gender-neutral-language.html
	https://ualr.edu/writingcenter/avoid-sexist-language/
<
Note: 性別中立な言語では、単数形の "they" を使用する必要はありません。

 vim:tw=78:ts=8:noet:ft=help:norl:
