vim-jp / vimdoc-ja / helphelp

helphelp - Vimドキュメント

メインヘルプファイルに戻る
helphelp.txt  For Vim バージョン 8.2.  Last change: 2021 Dec 13


                  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" から検索されます。

ヘルプを現在のウィンドウで開きたいのならば、help-curwin のTIPSを参照のこと。

ヘルプウィンドウの高さの初期値は 'helpheight' で設定できます (標準設定: 20)。
                                                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
                                E154 E150 E151 E152 E153 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


==============================================================================
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 からリンクしたいので、Bramに連絡してください。
- タグファイルを作成するには :helptags を使います。指定したディレクトリのす
  べての言語のファイルが処理されます。

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

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

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

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

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

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

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


タグ

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

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

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

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


ハイライト表示

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

列見出し

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

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


Vim ヘルプファイルでは以下のものがそれぞれハイライトされます:
  - 特殊キーの名前。<PageDown> のような <> 表記で書かれたものと、CTRL-X のよう
    に書かれた制御文字。
  - {braces} で囲まれた文字。例: {lhs} と {rhs}

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

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

                                                        inclusion
Vim はみんなのもので、人種、性別、その他何も関係しません。一部の人々は、ユー
ザーに言及するときに "he" や "his" を使うことに大騒ぎし、我々がユーザーを男性
であると仮定しているかのように考えています。もちろんそういう意図ではありませ
ん、ヘルプテキストを書く際の習慣になっているだけで、多くの場合、何年も昔からそ
う書かれてます。また、多くの文章は、英語が第一言語{訳注: 母語のこと} ではない
貢献者によって書かれています。私たちはテキストの言い回しなどに関係なく、ユー
ザーのジェンダーがどうなのか仮定することはありません。そのような相談をする人達
は "they" を使うようにと提案しますが、しかしそれは通常の英語ではありません。そ
のような相談に多くの時間を費やしたくありません。目標は、読者が Vim がどのよう
に動くかの仕組みを理解することで、正しい言葉遣いは二の次です。


 vim:tw=78:ts=8:noet:ft=help:norl:
関連キーワード:  ヘルプ, usr, タグ, コマンド, 言語, Vim, ウィンドウ, マッチ, CTRL, 検索