vim-jp / vimdoc-ja / filetype

filetype - Vim日本語ドキュメント

メインヘルプファイルに戻る
*filetype.txt*  For Vim バージョン 8.0.  Last change: 2016 Sep 09


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


ファイル形式                                            *filetype* *file-type*

1. ファイル形式                                 |filetypes|
2. ファイル形式別プラグイン                     |filetype-plugins|
3. 標準で付属する形式別プラグインの解説         |ftplugin-docs|

|autocmd.txt|も参照。

{Vi にはこれらのコマンドはない}

==============================================================================
1. ファイル形式                                 *filetypes* *file-types*

Vimは編集しているファイルの形式を検出することができる。これはファイル名をチェ
ックしたり、場合によってはファイル内に特定のテキストがあるかを調べることで実現
されている。

                                                        *:filetype* *:filet*
ファイル形式の検出を有効化するには、vimrcファイルでこのコマンドを使用する:
        :filetype on
新しいファイルや既存のファイルを編集する際には必ず、Vimはファイルの形式を認識
し 'filetype' オプションを設定しようと試みる。それが構文強調やオプションの設
定、その他を行うために使われるFileTypeイベントのきっかけとなる。

NOTE: Vi互換とは全てのオプションがグローバルであることを意味するので、ファイル
形式識別と 'compatible' は同時に使うことはできない。既に 'compatible'を設定し
ている場合には、それを解除する必要がある。

詳細: ":filetype on" コマンドは次のファイルのうち1つをロードする。
                Amiga       $VIMRUNTIME/filetype.vim
                Mac         $VIMRUNTIME:filetype.vim
                MS-DOS      $VIMRUNTIME\filetype.vim
                RiscOS      Vim:Filetype
                Unix        $VIMRUNTIME/filetype.vim
                VMS         $VIMRUNTIME/filetype.vim
        このファイルはBufNewFileとBufReadイベントに対する自動実行コマンドを定
        義するVimスクリプトファイルである。ファイル形式がファイル名から決定で
        きない時には、ファイルの内容を検出するために$VIMRUNTIME/scripts.vimが
        使用される。
        GUIで使用しているとき、またはGUIを開始しようとしているときには、
        menu.vimも読み込まれる。これを避けるには |'go-M'| を参照。

独自のファイルタイプを追加するには、下の|new-filetype|を参照。あるファイルタイ
プについてのヘルプを検索するには、ファイルタイプ名の前に "ft-" をつけ、さらに
必要に応じて "-syntax", "-indent", "-plugin" をつける。例:
        :help ft-vim-indent
        :help ft-vim-syntax
        :help ft-man-plugin

ファイル形式を自動的に検出できなかった場合や、間違った形式になってしまった場合
には、'filetype' オプションを手動で設定するか、ファイルにモード行(modeline)を
追加する選択肢がある。例として、IDLファイルに設定するにはこのコマンドを使うか:

        :set filetype=idl

この|modeline|をファイルに追加する:
        /* vim: set filetype=idl : */

                                                *:filetype-plugin-on*
ファイル形式別プラグインのロードを有効化するには:
        :filetype plugin on
まだファイル形式検出が有効になっていない時には、同時に有効化される。
これは実際には 'runtimepath' にある "ftplugin.vim" をロードする。
結果的にファイルが編集される時に対応するプラグインファイルがロードされる(ただ
し検出したファイル形式に合致するプラグインファイルがあった時のみ)。
|filetype-plugin|

                                                *:filetype-plugin-off*
ファイル形式別プラグインを無効化するには:
        :filetype plugin off
ファイル形式の検出自体は無効にならない。しかしながらファイル形式の検出を無効に
した場合には、プラグインもロードされなくなる。
これは実際には 'runtimepath' にある "ftplugof.vim" をロードする。

                                                *:filetype-indent-on*
ファイル形式別インデントのロードを有効化するには:
        :filetype indent on
まだファイル形式検出が有効になっていない時には、同時に有効化される。
これは実際には 'runtimepath' にある "indent.vim" をロードする。
結果的にファイルが編集される時に対応するインデントファイルがロードされる(ただ
し検出したファイル形式に合致するインデントファイルがあった時のみ)。
|filetype-plugin|

                                                *:filetype-indent-off*
ファイル形式別インデントを無効化するには:
        :filetype indent off
ファイル形式の検出自体は無効にならない。しかしながらファイル形式の検出を無効に
した場合には、インデントファイルもロードされなくなる。
これは実際には 'runtimepath' にある "indoff.vim" をロードする。
そうすると、これから開くファイルに対して自動インデントが無効になる。すでに開い
ているファイルに対しては何も変わらない。すでに開いているファイルに対して自動イ
ンデントを無効にするには 'autoindent''cindent''smartindent''indentexpr'
をオフにする。

                                                *:filetype-off*
ファイル形式の検出を無効にするには、次のコマンドを使用する:
        :filetype off
これはプラグイン("plugin")とインデント("indent")のフラグを保持はするが、ファイ
ル形式は検出されなくなるので、次に ":filetype on" をするまではそれらは動作しな
くなる。


概要:                                           *:filetype-overview*

コマンド                        検出            プラグイン      インデント
:filetype on                    有効            変化なし        変化なし
:filetype off                   無効            変化なし        変化なし
:filetype plugin on             有効            有効            変化なし
:filetype plugin off            変化なし        無効            変化なし
:filetype indent on             有効            変化なし        有効
:filetype indent off            変化なし        変化なし        無効
:filetype plugin indent on      有効            有効            有効
:filetype plugin indent off     変化なし        無効            無効

現在の状態を知るには次のようにタイプする:
        :filetype
このような出力が得られる:
        filetype detection:ON  plugin:ON  indent:OFF

ファイル形式は構文強調にも利用される。":syntax on" コマンドが使用されると、ファ
イル形式検出もインストールされる。":syntax on" の後に ":filetype on" を実行す
る必要はない。

特定のファイル形式を無効にするには、自分のファイル形式ファイルに1行追加する。
|remove-filetype|参照。

                                                        *filetype-detect*
再びファイル検出を有効化するには:
        :filetype detect
空のファイルから編集を始めて、ファイル形式を判定するのに充分なテキストをタイプ
してからコレを使用する。例えば、シェルスクリプトの中で "#!/bin/csh" を入力して
からということ。
   ファイル形式検出が無効になっていた時には、引数 "on" が指定された時のように、
初めに有効化される。

                                                        *filetype-overrule*
同じ拡張子が2つのファイル形式で使用されている時には、Vimはファイルがどのような
種類であるかを推測する。これは常に動作するわけではない。ある拡張子に対してどの
ファイル形式を使うか明示的に指定するのに、幾つかのグローバル変数を使うことがで
きる:

        ファイル名      変数
        *.asa           g:filetype_asa  |ft-aspvbs-syntax| |ft-aspperl-syntax|
        *.asp           g:filetype_asp  |ft-aspvbs-syntax| |ft-aspperl-syntax|
        *.asm           g:asmsyntax     |ft-asm-syntax|
        *.prg           g:filetype_prg
        *.pl            g:filetype_pl
        *.inc           g:filetype_inc
        *.w             g:filetype_w    |ft-cweb-syntax|
        *.i             g:filetype_i    |ft-progress-syntax|
        *.p             g:filetype_p    |ft-pascal-syntax|
        *.sh            g:bash_is_sh    |ft-sh-syntax|
        *.tex           g:tex_flavor    |ft-tex-plugin|

                                                        *filetype-ignore*
特定のファイルが検査されないようにするには、g:ft_ignore_pat 変数を使う。こ
の変数はデフォルトで次のように設定されている。
        :let g:ft_ignroe_pat = '\.\(Z\|gz\|bz2\|zip\|tgz\)$'
この設定は圧縮ファイルを検査しないようにしている。

                                                        *new-filetype*
使いたいファイル形式がVimに検出されない(存在しない)場合には、その形式を追加す
る4つの方法がある。どちらにせよファイル$VIMRUNTIME/filetype.vimは変更するべき
ではない。そのファイルは新しいVimをインストールする際に上書されるのだから。

A. デフォルトのファイルタイプの検査をくつがえす。
   この方法はファイルタイプごとにファイルを作ることで機能する。不便な点は
   ファイルがたくさんになってしまうこと。便利な点は適切なディレクトリにファ
   イルを置くだけで機能すること。
                                                        *ftdetect* 
   1. ユーザーランタイムディレクトリを作成する。通常は 'runtimepath' オプション
      に記載される最初の項目を使えば良い。次にそのディレクトリに "ftdetect" と
      いうディレクトリを作成する。UNIXを例に挙げる:
        :!mkdir ~/.vim
        :!mkdir ~/.vim/ftdetect

   2. ファイル形式を検出する自動実行コマンドを含むファイルを作成する。
      例:
        au BufRead,BufNewFile *.mine            set filetype=mine
      Note "augroup" コマンドは要らない。そのファイルを読み込むときに既に定
      義されている。パターンに "*" を使いファイルの内容から判断することもで
      きる。
      そのファイルを例えば "mine.vim" という名前で先程の "ftdetect" ディレク
      トリに保存する。UNIXを例に挙げる:
        :w ~/.vim/ftdetect/mine.vim

   3. 新しいファイル形式の検出を有効化するにはVimを再起動しなければならない。

   "ftdetect" ディレクトリの中のファイルはデフォルトの検査のあとに使われるの
   で、それ以前に決定したファイルタイプを変更することができる。しかしここで
   |:setfiletype|を使えば、それ以前に決定したファイルタイプをそのままにしてお
   くこともできる。

B. デフォルトのファイルタイプの検査の後にファイルタイプを決定する。

   上と同様。ただし、無条件に 'filetype' を設定する代わりに、':setfiletype' を
   使う。これはまだファイルタイプがまだ認識されていないときだけ 'filetype' を
   設定する。次に例を示す。
        au BufRead,BufNewFile *.txt             setfiletype text

   すでに認識されたファイルタイプをコマンドから使うことができる。例えば、ファ
   イルタイプが "pascal" だった時にファイルタイプを "mypascal" に設定するには:
        au BufRead,BufNewFile *         if &ft == 'pascal' | set ft=mypascal
                                                                       | endif

C. ファイル形式が名前だけで検出できる場合。
   1. ユーザーランタイムディレクトリを作成する。通常は 'runtimepath' オプション
      に記載される最初の項目を使えば良い。UNIXを例に挙げる:
        :!mkdir ~/.vim

   2. ファイル形式を検出する自動実行コマンドを含むファイルを作成する。
      例:
        " 独自の filetype ファイル
        if exists("did_load_filetypes")
          finish
        endif
        augroup filetypedetect
          au! BufRead,BufNewFile *.mine         setfiletype mine
          au! BufRead,BufNewFile *.xyz          setfiletype drawing
        augroup END
      このファイルを "filetype.vim" としてユーザーランタイムディレクトリに保存
      する。UNIXを例にあげる:
        :w ~/.vim/filetype.vim

   3. 新しいファイル形式の検出を有効化するためにVimを再起動する。

   作成したfiletype.vimはデフォルトのFileType自動実行コマンドがインストールさ
   れる前に読み込まれる。そのため新しく作成した自動実行コマンドが先に適合し、
   ":setfiletype" コマンドがこれ以後に他の自動実行コマンドにより 'filetype' が
   設定されないことを保証する。
                                                        *new-filetype-scripts*
D. ファイル形式がファイルの内容を調べる事によってのみ検出可能な場合。

   1. ユーザーランタイムディレクトリを作成する。通常は 'runtimepath' オプション
      に記載される最初の項目を使えば良い。UNIXを例に挙げる:
        :!mkdir ~/.vim

   2. ファイルの内容で形式を決定するVimスクリプトを作成する。例:
        if did_filetype()       " 既にファイル形式が決定している
          finish                " ..その時はこのチェックは行わない
        endif
        if getline(1) =~ '^#!.*\<mine\>'
          setfiletype mine
        elseif getline(1) =~? '\<drawing\>'
          setfiletype drawing
        endif
      より多くの例については$VIMRUNTIME/scripts.vimを参照。
      このファイルを "scripts.vim" としてユーザーランタイムディレクトリに保存
      する。UNIXを例に挙げる:
        :w ~/.vim/scripts.vim

   3. これだけで検出は正しく動作し、Vimを再起動する必要は無い。

   新しく作成したscripts.vimはデフォルトのファイル形式チェックの前に読み込まれ
   るので、$VIMRUNTIME/scripts.vimに書かれたデフォルトの判定規則を上書きするこ
   とができる。

                                                *remove-filetype*
ファイル形式が誤って検出されたならば、(上を参考に)それを補正するfiletype.vimか
scripts.vimをインストールする。'filetype' に存在しない形式の名前を設定すれば、
それ以降の検出スクリプトで別の値が設定されてしまうのを避けることができる:
        :set filetype=ignored

複数人で使用する環境を設定していて、個々のユーザーにはファイル形式を追加/削除
させたくないならば、ランタイムディレクトリに置いて全ユーザーが共有するように
filetype.vimとscripts.vimを書く必要がある。そのスクリプトを置くディレクトリに
は 'runtimepath' の示すうちのどれか1つを選択する。'runtimepath' の中に設定を置
きたいディレクトリが見あたらなければ、|system-vimrc|内で正しく追加する必要があ
る。既に設定されているデフォルトのディレクトリを変更しないように注意。


                                                *autocmd-osfiletypes*
NOTE: RISC OS サポートが削除されたため、このコードは現在無効化されている。将来
これは 'filetype' オプションを使用することになるだろう。

ファイルと共に「形式」を記録できるオペレーティングシステム(OS)では、ファイルが
ある「形式」だった時にだけ実行される自動コマンドを設定することができる。

実際の「形式」チェックはVimをどのプラットフォームで使用しているかに依存する;
詳細は使用しているシステムの解説書を参照のこと。

OSによる「形式」を利用するには自動実行コマンドの検出パターンの場所に、次の例に
示すように折カッコで囲んだ検出させたい「形式」のリストを書く:

        :au BufRead *.html,<&faf;HTML>  runtime! syntax/html.vim

これは以下に適合する:

- ファイル名が ".html" で終了するあらゆるファイル
- 「形式」が "&faf" か "HTML" である全てのファイル。ただしここでいう「形式」と
  はVimのバージョン(稼動しているOS)によって定義される。未知の形式は適合しない
  とみなされる。

「形式」とパターンを同時に指定することもできる (そのような場合には、両方共マッ
チする必要がある):

        :au BufRead <&fff>diff*

これは「形式」が "&fff" で名前が "diff" で始まるファイルに適合する。


                                                        *plugin-details*
"plugin" ディレクトリは 'runtimepath' オプションに示されているならば、どのディ
レクトリに置いても良い。そこに示された全てのディレクトリにあるプラグインが検索
され読み込まれる。例えば、次のコマンドを実行すると:

        set runtimepath

次の内容が出力される:

        runtimepath=/etc/vim,~/.vim,/usr/local/share/vim/vim60

この時Vimは以下に示すディレクトリとそれ以下にある全てのプラグインを読み込む:

        /etc/vim/plugin/
        ~/.vim/plugin/
        /usr/local/share/vim/vim60/plugin/

最後の1つは$VIMRUNTIMEが展開されたものであることに注意。

プラグインが読み込まれていないらしい場合はどうすれば良いのか? Vim起動時に|-V|
引数を使用すれば何が起こっているか知ることができる:

        vim -V2

多くのメッセージが表示されるが、プラグインの読み込みの前には特定の記述がなされ
る。それは次のように始まる:

        Searching for "plugin/**/*.vim" in

これを見ればVimがプラグインスクリプトをどこから探しているのかがわかる。

==============================================================================
2. ファイル形式別プラグイン                             *filetype-plugins*

ファイル形式プラグインが有効になっていれば|:filetype-plugin-on|、プラグイン読
込時にオプションが設定されキーマップが定義される。それらは全てバッファローカル
で、他のファイルに対しては決して作用しない。

ファイル形式により定義されるキーマップが自分で定義したキーマップの邪魔になるこ
ともあり得る。幾つかこれを回避する方法がある:
1. "maplocalleader" にキーマップの先頭に使用するキーシーケンスを設定する。例:
        :let maplocalleader = ","
   デフォルトのバックスラッシュ(\ 記号)に替えてコンマが全てのマップの始まりの
   キーになる。|<LocalLeader>|も参照。

2. 独自のマップを定義する。例:
        :map ,p <Plug>MailQuote
   どのような機能が提供され、それにどのような文字列がキーマップされているの
   か、プラグインファイルの説明をチェックする必要がある。
   独自のキーマップはプラグインが読み込まれる (つまりその形式のファイルが読み
   込まれる) 前に定義する必要がある。そうすればプラグインはデフォルトキーマッ
   ピングのインストールを行わない。

3. 特定のファイル形式についてキーマップを無効化するならば、そのファイル形式名
   を含むある変数を設定する。ファイル形式 "mail" のキーマップを無効にするには
   次のようにする:
        :let no_mail_maps = 1

4. ファイル形式による全てのキーマップを無効化するには次の変数を設定する:
        :let no_plugin_maps = 1


                                                        *ftplugin-overrule*
グローバルな($VIMRUNTIMEにある、システムが提供する)ファイル形式プラグインが
キッチリ望むように動作しない場合には、これを変更する方法が3通りある:

1. 設定を追加する。
   新しいファイル形式プラグインを作り、'runtimepath' の始めのほうに置く。一例
   として、UNIXではこのファイルを利用できる:
        vim ~/.vim/ftplugin/fortran.vim
   追加したい設定やキーマップをこのファイルに記述する。グローバルプラグインは
   これの後に読み込まれるので、ここで行った設定は上書される可能性がある。その
   ような場合には以下の2つの方法のどちらかを利用する。

2. プラグインのコピーを作成し、そちらを変更する。
   'runtimepath' の始めのほうにそのプラグインのコピーを置く。一例として、UNIX
   ではこのように行う:
        cp $VIMRUNTIME/ftplugin/fortran.vim ~/.vim/ftplugin/fortran.vim
   そうすればコピーしたファイルを好きなように変更できる。これは変数
   b:did_ftpluginが設定されていれば、グローバルプラグインは読み込まれない仕組
   みになっていることによる。
   この方法には、配布されるプラグインが改良された際に、再びコピーし同じように
   変更しなければならない、という短所がある。

3. グローバルプラグインの読み込み後に設定を上書きする。
   'runtimepath' の最後に、新しいファイル形式プラグインを作成する。一例として、
   UNIXではこのファイルを利用できる:
        vim ~/.vim/after/ftplugin/fortran.vim
   このファイルの中では、変更したい設定だけを変更できる。

==============================================================================
3.  標準で付属する形式別プラグインの解説                *ftplugin-docs*


チェンジログ(CHANGELOG)                                 *ft-changelog-plugin*

{訳注: エントリ=日付ごとの区切り アイテム=日付内の項目}

チェンジログファイルを簡単に扱うことを可能にする。いくつかの便利なコマンドや
マッピング、変数がある。

オプション:
'comments'              フォーマットを崩さないように空に設定される。
'textwidth'             標準的な値である78に設定される。
'formatoptions'         テキストを折り返すために 't' が加えられる。

コマンド:
NewChangelogEntry       適切にアイテムを追加する(以下参照)。

ローカルマッピング:
<Leader>o               上と同様に適切にアイテムを追加する(以下参照)。

グローバルマッピング:
                        NOTE: グローバルマッピングはあらかじめ
                        ftplugin/changelog.vim を実行することで有効になる。
                        例えば
                                runtime ftplugin/changelog.vim
                        と |.vimrc| に書くようにして。
                        {訳注: この例だと間違えてこのまま書いちゃいそう。}
<Leader>o               カレントディレクトリに "ChangeLog" というファイルがあ
                        れば開き、既に開かれていればバッファを切替える。そし
                        て上記のローカルマッピング<Leader>oと同じように働
                        く。

変数:
g:changelog_timeformat  非推奨。g:changelog_dateformatを使うこと。
g:changelog_dateformat  エントリに入れる日付(と時間)の書式。
                        使えるフォーマットは |strftime()| と同じ。
                        デフォルトでは標準的に使われている "%Y-%m-%d" が設定
                        されている。
g:changelog_username    ユーザーの名前とメールアドレス。
                        デフォルトは環境変数とシステムファイルから推定され
                        る。まずカレントユーザーについての情報を得るために
                        /etc/passwd を探す。そこの最初の区切りにユーザーの実
                        名があることを期待している。次に環境変数の$NAMEを
                        チェックする。最後にアドレスを得るために`whoami`と
                        `hostname`を実行する。最終的に次のような値を決定す
                        る。
                                Full Name <user@host>

g:changelog_new_date_format
                        エントリを作成するときの書式。
                        次の特別な文字が使える:
                                %%      一つの '%' が入る
                                %d      上記で定義した日付
                                %u      上記で定義したユーザーの名前
                                %p      b:changelog_entry_prefix の結果
                                %c      作成後のカーソルの位置
                        デフォルトは "%d  %u\n\n\t* %p%c\n\n"。これは次のよう
                        になる ( | はカーソルの位置を示している。しかし、行頭
                        の | は行の始まりを表す)
                                |2003-01-14  Full Name  <user@host>
                                |
                                |        * prefix|

g:changelog_new_entry_format
                        アイテムを作成するときの書式。
                        次の特別な文字が使える:
                                %p      b:changelog_entry_prefix の結果
                                %c      作成後のカーソルの位置
                        デフォルトは "\t*\c"。これは次のようになる
                                |        * prefix|

g:changelog_date_entry_search
                        日付エントリを探すための検索パターン。
                        g:changelog_new_date_formatと同じ特別な文字が使え
                        る。デフォルトは '^/\s*%d\_s*%u' で、次のような行
                                |2003-01-14  Full Name  <user@host>
                        を見つける。

g:changelog_date_end_entry_search
                        日付エントリの終端を探すための検索パターン。
                        g:changelog_new_date_formatにおけるトークンと同じもの
                        が使用できる。デフォルトは '^\s*$' で、空白文字のみを
                        含む行または完全な空行を検索する。

b:changelog_name                                        *b:changelog_name*
                        チェンジログファイルの名前。
                        既定値は 'ChangeLog'。

b:changelog_path
                        カレントバッファに使うチェンジログのパス。
                        既定では空文字列で、カレントバッファと同じディレクトリ
                        から |b:changelog_name| という名前のファイルが検索され
                        る。それが見つからない場合は、カレントバッファの親
                        ディレクトリを検索する。ファイルが見つかるか、それ以上
                        上がれなくなるまで、再帰的にこれが繰り返される。

b:changelog_entry_prefix
                        新しいエントリのプリフィックスを生成するための関数の名
                        前を指定する。関数は引数を取らず、プリフィックスの文字
                        列を返す。関数は空文字を返しても構わない。
                        デフォルトでは ChangeLog のパスとカレントバッファのパ
                        スの間の最短パスが使用される。
                        将来的には他の変数コンテキスト (例えば g:) でも指定で
                        きるようになる予定である。

チェンジログエントリは適切な位置に挿入される。現在の日付とユーザーを得た後
に、その日付とユーザーのエントリをファイルから探し、見つかればその下にアイテ
ムを加える。なければ新しいエントリとアイテムをファイルの先頭に加える。


フォートラン(FORTRAN)                                   *ft-fortran-plugin*

オプション:
'expandtab'     .vimrcでfortran_have_tabsが指定されなければ、フォートラン標準
                に従ってタブ文字を避けるために有効にする。
'textwidth'     フォートラン標準に従って固定形式のソースでは72に、自由形式の
                ソースでは80に設定される。
'formatoptions' コードとコメントを分けて、長い行を保持するように設定される。
                これにより|gq|でコメントを整形できる。
fortran_have_tabsについての議論とソース形式の判定法については
|ft-fortran-syntax|を参照。


GIT COMMIT                                              *ft-gitcommit-plugin*

現在のコミットの差分をプレビューウィンドウに表示する :DiffGitCached というコマ
ンドが提供されている。このコマンドを実行すると、その引数をつけて "git diff
--cached" が実行される。


メール(MAIL)                                            *ft-mail-plugin*

オプション:
'modeline'      トロイの木馬の危険を避けるのと、「件名」に含まれる "Vim:" がエ
                ラーメッセージの原因となる可能性を排除するために、モード行はオ
                フになる。
'textwidth'     72に設定する。e-mailでは良く推奨される値。
'formatoptions' テキストを折返し、新しい行ではコメントリーダーを繰り返すように
                設定。引用記号の ">" が繰り返される。
                これにより|gq|で引用文を整形できる。

ローカルキーマップ:
<LocalLeader>q   or   \\MailQuote
        ビジュアルモードでは選択されたテキストを、ノーマルモードではカーソルの
        位置からファイル末端までのテキストを引用する。これは全ての行に "> " が
        挿入されることを意味している。

MAN                                     *ft-man-plugin* *:Man* *man.vim*

マニュアルページを洗練された方法で表示する。ユーザーマニュアルの
|find-manpage|も参照のこと。

マニュアルページを読み込む前に ":Man" を利用するには、起動vimrcファイルでこの
スクリプトを読み込む必要がある:

        runtime ftplugin/man.vim

オプション:
'iskeyword'     マニュアルページの名前の上でCTRL-]を使えるようにするために文字
                '.' が追加される。

コマンド:
Man {name}      {name} についてのマニュアルページを表示する。
Man {number} {name}
                {number} セクションの {name} についてのマニュアルページを表示
                する。

グローバルキーマップ:
<Leader>K       カーソル下の単語についてのマニュアルページを表示する。

ローカルキーマップ:
CTRL-]          カーソルの下の単語についてのマニュアルページへ移動する。
CTRL-T          直前のマニュアルページへ戻る。
q               ":quit" と同じ

水平の代わりに垂直分割を使用するには:
        let g:ft_man_open_mode = 'vert'
新しいタブを使うには:
        let g:ft_man_open_mode = 'tab'

折畳を有効にするにはこの変数を使う:
        let g:ft_man_folding_enable = 1
もしデフォルトの折畳が好みではないのなら、代わりに autocommand を使って望んだ
折畳スタイルを追加できる。例:
        autocmd FileType man setlocal foldmethod=indent foldenable

'keywordprg' を設定して、|K| コマンドを Vim ウィンドウのマニュアルページにもで
きる:
        set keywordprg=:Man


MANPAGER                                      *manpager.vim*

:Man コマンドを使うと、Vim をマンページにできる(その構文はマンページをハイライ
ト表示し、CTRL-] でヒットしたリンク先のマンページをたどる)。

動作する環境:

  - Linux
  - Mac OS
  - FreeBSD
  - Cygwin
  - Win 10 under Bash

未テスト:

  - Amiga OS
  - BeOS
  - OS/2

設定ファイル(.bashrc, .zshrc, ...)に bash, zsh, ksh, または dash を追加するには、

        export MANPAGER="env MAN_PN=1 vim -M +MANPAGER -"

設定ファイルに (t)csh を追加するには、

        setenv MANPAGER "env MAN_PN=1 vim -M +MANPAGER -"

設定ファイルに fish を追加するには、

        set -x MANPAGER "env MAN_PN=1 vim -M +MANPAGER -"

もし man が Linux や Mac OS 上で最も一般的な実装である man-db のような $MAN_PN
環境変数を設定していれば、上の "env MAN_PN = 1" の部分は余計である。

PDF                                                     *ft-pdf-plugin*

PDF ファイル内をジャンプするため、タグスタックをシミュレートする <C-]> と<C-T>
という2つのマップが提供されている。次のものがタグとして扱われる:

- "startxref" の後から xref テーブルまでのバイトオフセット
- トレイラー内の /Prev キーから前の xref テーブルへのバイトオフセット
- xref テーブル内の "0123456789 00000 n" という形式の行
- PDF 内の任意の位置における "1 0 R" のようなオブジェクト参照

これらのマップは次のコマンドで無効化できる
        :let g:no_pdf_maps = 1


PYTHON                                          *ft-python-plugin* *PEP8*

デフォルトでは、PEP8 に従って以下のオプションが設定されている:

        setlocal expandtab shiftwidth=4 softtabstop=4 tabstop=8

この動作を無効にするには、あなたのvimrcに次の変数を設定する:

        let g:python_recommended_style = 0



RPM SPEC                                                *ft-spec-plugin*

このプラグインに関する説明は非常に多いので、別のファイル |pi_spec.txt| に記述
してある。

SQL                                                     *ft-sql*

このプラグインについての解説は長くなるので、別のファイルに分割してある:
|ft_sql.txt|


TEX                                             *ft-tex-plugin* *g:tex_flavor*

*.tex ファイルの最初の行が次のような形なら
        %&<format>
ファイルタイプは次のどれかになる: plaintex (プレーン TeX), context (ConTeXt),
tex (LaTeX)。そうでなければ context か tex かを決定するためにファイル内から
キーワードを検索する。もしキーワードが見つからなければ既定値として plaintex に
なる。この既定値は、変数 g:tex_flavor を定義すれば変更することができる。次のど
れかのようにする:
        let g:tex_flavor = "plain"
        let g:tex_flavor = "context"
        let g:tex_flavor = "latex"
現在のところこれ以外のフォーマットは識別されない。

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