vim-jp / vimdoc-ja / various

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

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


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

様々なコマンド                                          *various*

1. 様々なコマンド                       |various-cmds|
2. less、more の代わりに Vim を使う     |less|

==============================================================================
1. 様々なコマンド                                       *various-cmds*

                                                        *CTRL-L*
CTRL-L                  画面を消去して再描画します。すでに入力されているキーを
                        すべて処理してから再描画します。

                                                        *:redr* *:redraw*
:redr[aw][!]            画面をすぐに再描画します。! を付けたときは、画面を消去
                        してから再描画します。
                        スクリプトや関数を実行している途中で画面を更新するのに
                        便利です。マップの実行中や、'lazyredraw' がオンに設定
                        されているときでも更新できます。

                                                *:redraws* *:redrawstatus*
:redraws[tatus][!]      カレントウィンドウのステータスラインを再描画します。
                        ! を付けたときは、すべてのステータスラインを再描画しま
                        す。
                        'statusline' に自動更新されない項目が含まれている場合
                        に、ステータスラインを更新するのに便利です。

                                                        *N<Del>*
<Del>                   ノーマルモードで数値 (|count|) を入力しているときは、
                        数字の最後の桁を削除します。
                        Note: 同じことをするのに <BS> を使いたい場合は、次の
                        マップを .vimrc に追加してください:
                                :map CTRL-V <BS>   CTRL-V <Del>
                        <Del> が望みどおりに機能しない場合には|:fixdel|を参照。
{訳注: "CTRL-V <BS>"はCTRL-Vを押してから<BS>を押す。}

:as[cii]                                                *ga* *:as* *:ascii*
ga                      カーソル位置の文字の文字コードを、10/16/8 進数で表示し
                        ます。カーソルが 'R' の上にあるときは次のように表示さ
                        れます:
                                <R>  82,  Hex 52,  Octal 122
                        ASCII 以外の文字がオプション 'isprint' に設定されてい
                        て、表示可能になっている場合には、特殊な表示形式もいっ
                        しょに表示されます。文字コードが 127 より大きいときに
                        は <M-x> という形式も表示されます。例:
                                <~A>  <M-^A>  129,  Hex 81,  Octal 201
                                <p>  <|~>  <M-~>  254,  Hex fe,  Octal 376
                        (<p> には実際の特殊文字が表示されます。)
                        ファイル中の <Nul> 文字は内部的には <NL> として保存さ
                        れていますが、次のように表示されます:
                                <^@>  0,  Hex 00,  Octal 000
                        合成文字も表示されます。'maxcombine' の設定は影響しま
                        せん。
                        覚え方: Get Ascii value (ASCIIコードを取得)
                        {Vi にはない}

                                                        *g8*
g8                      カーソル位置の文字のバイト列を 16 進数で表示します。エ
                        ンコーディングが |UTF-8| の場合のみ正しく機能します。
                        合成文字も表示されます。'maxcombine' の設定は影響しま
                        せん。
                        2 文字の合成文字が結合されている文字の表示例:
                                e0 b8 81 + e0 b8 b9 + e0 b9 89
                        {Vi にはない} {|+multi_byte| が有効な場合のみ利用でき
                        ます}

                                                        *8g8*
8g8                     カーソル以降の不正な UTF-8 バイト列を検索します。
                        次の二つの状況で機能します。
                        1. 'encoding' が 8-bit エンコーディングの場合。
                        2. 'encoding' が "utf-8" で、'fileencoding' が 8-bit
                           エンコーディングの場合。
                        UTF-8 のファイルを開いたはずが、不正なバイト列が含まれ
                        ていて、別の 8-bit エンコーディングとして開かれてし
                        まった場合などに使ってください。
                        検索がファイル末尾に達しても、ファイル先頭に戻って検索
                        を継続しません。
                        Note: カーソルがすでに不正なバイト列の上にある場合は、
                        カーソルは移動しません。
                        {Vi にはない} {|+multi_byte| が有効な場合のみ利用でき
                        ます}

                                                *:p* *:pr* *:print* *E749*
:[range]p[rint] [flags]
                        範囲 [range] の行を表示します (省略時は現在行を表示)。
                        Note: テキストファイルを印刷する方法については
                        |:hardcopy| を参照してください。GUI を使用している場合
                        は、メニューの File.Print から印刷できます。
                        [flags] については |ex-flags| を参照してください。
                        |:filter| コマンドを、パターンにマッチした行だけを表示
                        するのに、使うことができる。

:[range]p[rint] {count} [flags]
                        [range] の開始行から {count} 行を表示します([range]
                        省略した場合は現在行から開始 |cmdline-ranges|)。
                        [flags] については |ex-flags| を参照してください。

                                                        *:P* *:Print*
:[range]P[rint] [count] [flags]
                        :print と同じです。シフトキーを長く押し続けてしまう人
                        のために追加されました。
                        Note: ユーザーコマンドでこのコマンドを上書きできます。
                        [flags] については |ex-flags| を参照してください。

                                                        *:l* *:list*
:[range]l[ist] [count] [flags]
                        :print と同じですが、表示できない文字は '^'を付けて表
                        示し、行末に $ を置きます。表示は 'listchars' オプショ
                        ンの設定で変更できます。
                        [flags] については |ex-flags| を参照してください。

                                                        *:nu* *:number*
:[range]nu[mber] [count] [flags]
                        :print と同じですが、先頭に行番号を付加します。
                        (オプション 'highlight' と 'numberwidth' も参照)
                        [flags] については |ex-flags| を参照してください。

                                                        *:#*
:[range][count] [flags]
                        :number と同じです。

                                                        *:#!*
:#!{anything}           無視されます。そのため、次のようにして Vim スクリプト
                        を実行することができます:
                                #!vim -S
                                echo "this is a Vim script"
                                quit

                                                        *:z* *E144*
:{range}z[+-^.=]{count} {range}に指定した行の周辺を表示します。{range} を省略
                        した場合は現在行の周辺を表示します。行の範囲をどれだけ
                        表示するかは {count} に指定します。{count} を省略した
                        場合、ウィンドウが一つだけなら  'scroll' オプションの
                        2 倍の数が、そうでなければカレントウィンドウの高さから
                        3 を引いた数が使われます。

                        {count} が指定された場合は 'window' オプションがその値
                        に設定される。

                        :z は修飾マークを付加して使うこともできます。次の効果
                        があります。

                        記号   開始行        終了行       新しいカーソル位置 
                        ----   ------        ------         ----------
                        +      現在行        1画面先        1画面先
                        -      1画面前       現在行         現在行
                        ^      2画面前       1画面前        1画面前
                        .      半画面前      半画面先       半画面先
                        =      半画面前      半画面先       現在行

                        マークを省略した場合は、"+" が使われます。マークが "="
                        の場合は、現在行の周りにマイナス記号で作った線が表示さ
                        れます。

:{range}z#[+-^.=]{count}                                *:z#*
                        ":z" と同じですが、行番号も表示します。
                        {Vi クローンによってはこの機能が使えないことがありま
                        す。引数が違う場合もあります}

                                                        *:=*
:= [flags]              最終行の行番号を表示します。
                        [flags] については |ex-flags| を参照してください。

:{range}[flags]       {range} で指定した範囲の最終行の行番号を表示します。た
                        とえば、次のコマンドは現在行の行番号を表示します。
                                :.=
                        [flags] については |ex-flags| を参照してください。

:norm[al][!] {commands}                                 *:norm* *:normal*
                        ノーマルモードコマンド {commands} を実行します。コマン
                        ドラインからノーマルモードのコマンドを実行できます。
                        {commands} は、ノーマルモードで入力されたときと同じよ
                        うに実行されます。{commands} による変更は、一回のアン
                        ドゥで取り消されます。
                        エラーが発生すると実行停止します。

                        [!] を付けた場合はマップは適用されません。
                        付けなかった場合、このコマンドが非再帰マップ
                        (|:noremap|) 内で使われたとしても、引数は再マップされ
                        ます。

                        {commands} は実行を完了する (ノーマルモードに戻る) 必
                        要があります。
                        {commands} が完了しない場合は、最後のコマンドが<Esc>
                        や <C-C> で終了したのと同じように動作します。
                        挿入モードも必ず完了します (挿入モードを開始するには
                        |:startinsert| を参照)。":" コマンドも必ず完了します。
                        "Q" や "gQ" を使って Ex モードを開始することはできませ
                        ん。

                        ":normal" の実行中は画面は更新されません。

                        {commands} の最初にスペースは置けません。そうしたい場
                        合はスペースの前にカウント指定の 1 (数字の 1) を置いて
                        ください。"1 " は 1 つのスペースになります。

                        {command} の実行ではオプション 'insertmode' は無視され
                        ます。

                        '|' は :normal コマンドの一部として処理されるので、こ
                        のコマンドの後に他のコマンドを続けて書けません。

                        :normal コマンドは 'maxmapdepth' の制限内で再帰的に呼
                        び出すことができます。

                        |:execute| コマンドには Vim スクリプトの式を指定できる
                        ので、印字可能文字を使って制御文字を入力することもでき
                        ます。

                        例:
                                :exe "normal \<c-w>\<c-w>"
                        {Vi には、もちろんない}

:{range}norm[al][!] {commands}                          *:normal-range*
                        {range} の各行に対してノーマルモードコマンド{commands}
                        を実行します。{commands} はカーソルが行頭にある状態で
                        実行されます。その他は範囲指定の無い ":normal" コマン
                        ドと同じです。
                        {Vi にはない}

                                                        *:sh* *:shell* *E371*
:sh[ell]                シェルを起動します。シェルを終了 ("exit"コマンドを実
                        行) すると Vim に戻ってきます。オプション 'shell' に設
                        定されているシェルコマンドを使います。
                                                        *E360*
                        Note: Amiga では、コンパイラから QuickFix モードで Vim
                        が起動された場合には、コンパイラが標準入力を非対話型
                        モードにしてしまうので使用できません。

                                                        *:!cmd* *:!* *E34*
:!{cmd}                 シェルで {cmd} を実行します。'shell' と 'shelltype'
                        参照。

                        {cmd} の中の '!' は以前使用した外部プログラムに置
                        き換えられます ('cpoptions' も参照)。'!' の前にバック
                        スラッシュがある場合はバックスラッシュが削除され '!'
                        は置き換えられません。
                        例: ":!ls" を実行後の ":!echo !\! \\!" は "echo ls !
                        \!" と解釈、実行されます。

                        {cmd} の中の '|' はシェルに渡されます。'|' を使って
                        Vim コマンドを続けて書くことはできません。(|:bar|
                        照)。

                        {cmd} が "%" を含んでいたらそれは現在のファイル名に展
                        開されます。特殊文字はエスケープされないので、特殊文字
                        の特殊な意味を打ち消すにはクォートを使います:
                                :!ls "%"
                        ファイル名が "$" を含んでいるならシングルクォートを使
                        うといいでしょう (ただしシングルクォートは問題がある場
                        合もある):
                                :!ls '%'
                        次の例は常に機能します。ただし長い:
                                :exe "!ls " . shellescape(expand("%"))

                        {cmd} の終わりを示す改行文字 (newline) 以降の文字は、
                        次の ":" コマンドとして解釈されます。改行文字の前に
                        バックスラッシュがある場合は、バックスラッシュは削除さ
                        れ、改行文字は {cmd} の一部として解釈されます。改行文
                        字の前にバックスラッシュがいくつあっても、一つだけが削
                        除されます。

                        Unix ではシェルを非対話型モードで起動します。対話型
                        モードで起動したい場合 (aliasを使いたい場合など) は、
                        'shellcmdflag' に "-ic" を設定してください。
                        Win32の場合は|:!start|も参照。

                        外部プログラムを実行した後で、開いているファイルのタイ
                        ムスタンプとサイズがチェックされます |timestamp|

                        外部プログラムはメッセージを出力するかもしれないので、
                        外部プログラムを実行した後にスクリーンが再描画されます。
                        そのため、プログラムの出力を見逃してしまわないように、
                        hit-enter プロンプトが表示されます。プロンプトを表示し
                        たくない場合は、次のようにします:
                                :silent! !{cmd}
                        これでスクリーンは再描画されません。外部プログラムが何
                        かを出力した場合は CTRL-L や ":redraw!" で再描画できま
                        す。|shell-window|も参照。

                                                        *:!!*
:!!                     最後の ":!{cmd}" を繰り返します。

                                                        *:ve* *:version*
:ve[rsion]              エディタのバージョンを表示します。コンパイル時に
                        "__DATE__" が利用可能だった場合には、コンパイルされた
                        日時も表示されます。利用不可だった場合は、リリースの最
                        終修正日時が表示されます。
                        Vim の、どの機能が有効になっているかも表示されます。機
                        能名の前に '+' があれば、その機能は有効になっていま
                        す。'-' のときは無効になっています。
                        機能の有無を変えるには features.h を編集して、Vim をコ
                        ンパイルし直す必要があります。Vim スクリプトから機能の
                        有無を確認するには |has()| を使います。以下に、機能の
                        概要を示します。
                        行頭の文字はその機能が含まれる最小構成です:
                           T    tiny
                           S    small
                           N    normal
                           B    big
                           H    huge
                           m    手動で組み込むか他の機能に依存
                         (none) システム依存
                        例えば "N" と書いてあれば、その機能は
                        normal、big、huge バージョンの Vim に含まれます。

                                                        *+feature-list*
   *+acl*               |ACL| サポートを含む
   *+ARP*               Amiga のみ: ARP サポートを含む
B  *+arabic*            |Arabic|言語サポート
N  *+autocmd*           |:autocmd|, 自動コマンド実行
m  *+balloon_eval*      |balloon-eval| サポート。GUI が有効で、Netbeans/Sun
                        Workshop (|+sun_workshop|) または |+eval| が有効な場合
                        に利用できます。
N  *+browse*            |:browse| コマンド
N  *+builtin_terms*     幾つかの組み込み端末 |builtin-terms|
B  *++builtin_terms*    全部の組み込み端末 |builtin-terms|
N  *+byte_offset*       'statusline'の'o'フラグ、|go||:goto|をサポート
m  *+channel*           プロセス間通信 |channel|
N  *+cindent*           |'cindent'|, C言語インデント
N  *+clientserver*      UnixとWin32: リモート呼び出し |clientserver|
   *+clipboard*         |clipboard|サポート
N  *+cmdline_compl*     コマンドライン補完 |cmdline-completion|
N  *+cmdline_hist*      コマンドライン履歴 |cmdline-history|
N  *+cmdline_info*      |'showcmd'| と |'ruler'|
N  *+comments*          |'comments'| サポート
B  *+conceal*           "conceal" サポート。|conceal| |:syn-conceal| 他 参照。
N  *+cryptv*            暗号化サポート |encryption|
B  *+cscope*            |cscope| サポート
m  *+cursorbind*        |'cursorbind'| サポート
m  *+cursorshape*       |termcap-cursor-shape| サポート
m  *+debug*             Vim がデバッグ用にコンパイルされた
N  *+dialog_gui*        |:confirm| のGUIダイアログをサポート
N  *+dialog_con*        |:confirm| のコンソールダイアログをサポート
N  *+dialog_con_gui*    |:confirm| GUIとコンソールダイアログをサポート
N  *+diff*              |vimdiff|'diff'
N  *+digraphs*          |digraphs| *E196*
m  *+directx*           Win32 GUI のみ: DirectX と |'renderoptions'|
   *+dnd*               "~レジスタ |quote_~|を使ったDnDのサポート
B  *+emacs_tags*        |emacs-tags| ファイル
N  *+eval*              式評価 {訳注: Vimスクリプト} |eval.txt|
N  *+ex_extra*          今は常にオン、かつてVimの拡張Exコマンドのためにあった
N  *+extra_search*      |'hlsearch'| と |'incsearch'| オプション
B  *+farsi*             |farsi| 言語
N  *+file_in_path*      |gf||CTRL-W_f| と |<cfile>|
N  *+find_in_path*      include ファイル検索: |[I||:isearch|
                        |CTRL-W_CTRL-I||:checkpath|、その他
N  *+folding*           |folding|
   *+footer*            |gui-footer|
   *+fork*              Unix のみ: |fork| シェルコマンド
   *+float*             浮動小数点数サポート
N  *+gettext*           メッセージの翻訳 |multi-lang|
   *+GUI_Athena*        Unix のみ: Athena |GUI|
   *+GUI_neXtaw*        Unix のみ: neXtaw |GUI|
   *+GUI_GTK*           Unix のみ: GTK+ |GUI|
   *+GUI_Motif*         Unix のみ: Motif |GUI|
   *+GUI_Photon*        QNX  のみ: Photon |GUI|
m  *+hangul_input*      ハングル入力サポート |hangul|
   *+iconv*             iconv() 関数が組み込まれている
   *+iconv/dyn*         |iconv-dynamic| |/dyn| と同じ
N  *+insert_expand*     |insert_expand| 挿入モード補完
m  *+job*               job の開始と停止 |job|
N  *+jumplist*          |jumplist|
B  *+keymap*            |'keymap'|
N  *+lambda*            |lambda| と |closure|
B  *+langmap*           |'langmap'|
N  *+libcall*           |libcall()|
N  *+linebreak*         |'linebreak'||'breakat'| と |'showbreak'|
N  *+lispindent*        |'lisp'|
N  *+listcmds*          バッファリストや引数リストに対するVimコマンド
                        |buffer-hidden| |:argdelete|
N  *+localmap*          バッファローカルなマップのサポート |:map-local|
m  *+lua*               |Lua| インターフェイス
m  *+lua/dyn*           |Lua| インターフェイス |/dyn|
N  *+menu*              |:menu|
N  *+mksession*         |:mksession|
N  *+modify_fname*      |filename-modifiers|
N  *+mouse*             マウス操作 |mouse-using|
N  *+mouseshape*        |'mouseshape'|
B  *+mouse_dec*         Unix のみ: Dec端末マウス操作 |dec-mouse|
N  *+mouse_gpm*         Unix のみ: Linuxコンソールマウス操作 |gpm-mouse|
N  *+mouse_jsbterm*     JSB マウスサポート |jsbterm-mouse|
B  *+mouse_netterm*     Unix のみ: nettermマウス操作 |netterm-mouse|
N  *+mouse_pterm*       QNX  のみ: ptermマウス操作 |qnx-terminal|
N  *+mouse_sysmouse*    Unix のみ: *BSD コンソールマウス操作 |sysmouse|
B  *+mouse_sgr*         Unix のみ: sgrマウス操作 |sgr-mouse|
N  *+mouse_urxvt*       Unix のみ: urxvtマウス操作 |urxvt-mouse|
N  *+mouse_xterm*       Unix のみ: xtermマウス操作 |xterm-mouse|
N  *+multi_byte*        16ビット、32 ビット文字 |multibyte|
   *+multi_byte_ime*    Win32 IMEサポート
N  *+multi_lang*        多言語サポート |multi-lang|
m  *+mzscheme*          Mzscheme インターフェイス |mzscheme|
m  *+mzscheme/dyn*      Mzscheme インターフェイス |mzscheme-dynamic| |/dyn|
m  *+netbeans_intg*     |netbeans|
   *+num64*             64ビットの数値をサポート |Number|
m  *+ole*               Win32 GUI のみ: |ole-interface|
N  *+packages*          |packages| の読み込み
N  *+path_extra*        'path''tags'での上下階の検索
m  *+perl*              Perl インターフェイス |perl|
m  *+perl/dyn*          Perl インターフェイス |perl-dynamic| |/dyn|
N  *+persistent_undo*   永続 undo |undo-persistence|
   *+postscript*        |:hardcopy| でPostScriptファイルの書き出し
N  *+printer*           |:hardcopy| コマンド
H  *+profile*           |:profile| コマンド
m  *+python*            Python 2 インターフェイス |python|
m  *+python/dyn*        Python 2 インターフェイス |python-dynamic| |/dyn|
m  *+python3*           Python 3 インターフェイス |python|
m  *+python3/dyn*       Python 3 インターフェイス |python-dynamic| |/dyn|
N  *+quickfix*          |:make| と |quickfix| コマンド
N  *+reltime*           |reltime()| 関数, 'hlsearch'/'incsearch' タイムアウト,
                        'redrawtime' オプション
B  *+rightleft*         右から左へタイプ |'rightleft'|
m  *+ruby*              Ruby インターフェイス |ruby|
m  *+ruby/dyn*          Ruby インターフェイス |ruby-dynamic| |/dyn|
N  *+scrollbind*        |'scrollbind'|
B  *+signs*             |:sign|
N  *+smartindent*       |'smartindent'|
N  *+startuptime*       |--startuptime| 引数
N  *+statusline*        オプション'statusline''rulerformat'と、
                        'titlestring''iconstring'の特殊フォーマット
m  *+sun_workshop*      |workshop|
N  *+syntax*            構文強調 |syntax|
   *+system()*          Unix のみ: |+fork|の反対
T  *+tag_binary*        タグファイル内の高速(二分探索)検索 |tag-binary-search|
N  *+tag_old_static*    静的タグの古い方法 |tag-old-static|
m  *+tag_any_white*     tagsファイル内で空白文字を許す |tag-any-white|
m  *+tcl*               Tcl インターフェイス |tcl|
m  *+tcl/dyn*           Tcl インターフェイス |tcl-dynamic| |/dyn|
   *+terminfo*          |terminfo|でtermcapを代替
N  *+termresponse*      |t_RV| と |v:termresponse| のサポート
B  *+termguicolors*     xterm互換端末での 24 ビット色のサポート
N  *+textobjects*       |text-objects| 選択
   *+tgetent*           非Unix のみ: 外部termcapを使用可能
N  *+timers*            |timer_start()| 関数
N  *+title*             ウィンドウタイトルとアイコン設定 |'title'| |'icon'|
N  *+toolbar*           |gui-toolbar|
N  *+user_commands*     ユーザー定義コマンド |user-commands|
N  *+viminfo*           |'viminfo'|
N  *+vertsplit*         ウィンドウの垂直分割 |:vsplit|
N  *+virtualedit*       |'virtualedit'|
S  *+visual*            ビジュアルモード |Visual-mode| 7.4.200からは常に有効
N  *+visualextra*       拡張ビジュアルモードコマンド |blockwise-operators|
N  *+vreplace*          |gR||gr|
N  *+wildignore*        |'wildignore'|
N  *+wildmenu*          |'wildmenu'|
S  *+windows*           複数ウィンドウ
m  *+writebackup*       |'writebackup'|がデフォルトで有効
m  *+xim*               Xインプットメソッド |xim|
   *+xfontset*          Xフォントセットサポート |xfontset|
   *+xpm*               pixmap サポート
m  *+xpm_w32*           Win32 GUI のみ: pixmap サポート |w32-xpm-support|
   *+xsmp*              XSMP(X session management)サポート
   *+xsmp_interact*     対話型XSMP(X session management)サポート
N  *+xterm_clipboard*   Unix のみ: xtermクリップボード操作
m  *+xterm_save*        xtermのスクリーンを保存と復帰 |xterm-screens|
N  *+X11*               Unix のみ: ウィンドウタイトルを復帰可能 |X11|

                                                        */dyn* *E370* *E448*
                        機能が動的ライブラリを利用する場合には機能名に"/dyn"
                        が付加されます。

:ve[rsion] {nr}         現在は無視されます。これはかつて .vimrc の中でバージョ
                        ン番号をチェックするために使われていました。現在は
                        ":if" コマンドを使ってバージョン依存の振る舞いを記述で
                        きるので、削除されています。{Vi にはない}

                                                        *:redi* *:redir*
:redi[r][!] > {file}    コマンドの出力 (メッセージ) を {file} にリダイレクトし
                        ます。メッセージは、リダイレクトを終了するまで、ファイ
                        ルに出力されます。メッセージは画面にも表示されます。
                        [!] を付けたときは、既存のファイルが上書きされます。
                        [!] を省略した場合は、すでに {file} が存在していると、
                        コマンドは失敗します。

                        ":redir" を同時に複数使用することはできません。
                        ":redir" を実行すると、新しいリダイレクトを開始する前
                        に、すでに実行されている他のリダイレクトは閉じられま
                        す。
                        再帰的に実行するには |execute()| を調べてください。

                        実行中のコマンドやメッセージがスクリーンに表示されない
                        ようにするには、コマンドを関数の中に書き、その関数を
                        ":silent call Function()" と実行してください。
                        このコマンドの代わりに、オプション 'verbosefile' を使
                        うこともできます。":redir" と同時に使うこともできま
                        す。
                        {Vi にはない}

:redi[r] >> {file}      メッセージを {file} にリダイレクトします。
                        {file} が既に存在する場合は追記します。 {Vi にはない}

:redi[r] @{a-zA-Z}
:redi[r] @{a-zA-Z}>     メッセージをレジスタ {a-z} にリダイレクトします。レジ
                        スタ名が大文字 {A-Z} の場合は、そのレジスタに追記され
                        ます。レジスタ名の後ろの ">" は省略可能です。
                        {Vi にはない}
:redi[r] @{a-z}>>       メッセージをレジスタ {a-z} に追記します。{Vi にはない}

:redi[r] @*>
:redi[r] @+>            メッセージをセレクションまたはクリップボードにリダイレ
                        クトします。互換性のため、レジスタ名の後ろの ">" は省
                        略できます。|quotestar| と |quoteplus| を参照。
                        {Vi にはない}
:redi[r] @*>>           
:redi[r] @+>>           メッセージをクリップボードに追記します。
                        {Vi にはない}

:redi[r] @">            メッセージを無名レジスタにリダイレクトします。互換性の
                        ため、レジスタ名の後ろの ">" は省略できます。
                        {Vi にはない}
:redi[r] @">>           メッセージを無名レジスタに追記します。{Vi にはない}

:redi[r] => {var}       メッセージを変数にリダイレクトします。変数が存在しない
                        場合は、作成されます。変数がすでにある場合は、空文字列
                        で初期化されます。
                        リダイレクトが終了するまでは、変数は空のままです。
                        文字列変数のみ使えます。リダイレクトを開始した後で変数
                        を変更したり、ロックしたり、変数タイプを変更したりする
                        と、それ以降のコマンドがメッセージを出力するときにエラー
                        が起こります。{Vi にはない}
                        コマンド1つの出力を取得するのには |execute()| 関数を使
                        うことができます。

:redi[r] =>> {var}      メッセージを変数に追記します。文字列変数のみ使えます。
                        {Vi にはない}

:redi[r] END            メッセージのリダイレクトを終了します。 {Vi にはない}

                                                        *:filt* *:filter*
:filt[er] {pat} {command}
:filt[er] /{pat}{command}
                        コマンドの出力を {pat} に一致するものに制限します。例
                        として xml ファイルだけを一覧する場合には以下のように
                        します:
                                :filter /\.xml$/ oldfiles

                        {pat} は Vim の検索パターンです。パターンを囲む "/"
                        は、{pat} 内に使われない限り、非ID文字 (|'isident'|)
                        で代用できます。パターンを囲む文字を省略した場合は、パ
                        ターンにバー文字 {訳注: "|"} を含むことはできなくなり
                        ます。

                        パターンは出力に部分一致でマッチするので、行全体に
                        マッチするパターンを指定する必要はありません。一部のコ
                        マンドだけがフィルタリングをサポートしているので、サ
                        ポートしているかどうかは実際に試してみてください。

                        通常のメッセージだけがフィルタリングされ、エラー
                        メッセージはされません。 {訳注: 常に出力されます}

                                                *:sil* *:silent* *:silent!*
:sil[ent][!] {command}  {command} を静かに実行します。メッセージは表示されず、
                        メッセージ履歴にも残りません。
                        [!] を付けた場合は、エラーが起きたときでもエラーメッ
                        セージは表示されず、コマンドやマップは中断されません。
                        その場合でも |v:errmsg| はセットされます。
                        [!] を付けない場合は、エラーメッセージは通常どおりに表
                        示されます。
                        |:redir| によるリダイレクトは通常どおり機能します。
                        |:silent| を使うとコマンドの出力をスクリーンに表示する
                        ことなくリダイレクトすることができます。例:
                            :redir >/tmp/foobar
                            :silent g/Aap/p
                            :redir END
                        ノーマルモードコマンドを静かに実行するには|:normal|
                        マンドを使用します。例えばメッセージを表示することなく
                        文字列を検索するには:
                            :silent exe "normal /path\<CR>"
                        ":silent!" は失敗するかもしれないコマンドを実行すると
                        きには便利ですが、エラーが無視されてしまいます。例:
                            :let v:errmsg = ""
                            :silent! /^begin
                            :if v:errmsg != ""
                            : ... パターンは見つかりませんでした
                        ":silent" は hit-enter プロンプトも抑制します。外部プ
                        ログラムを実行したとき、その出力は表示されたままになっ
                        てしまいます。その場合は|CTRL-L|でスクリーンをきれいに
                        できます。
                        ":silent menu ..." はコマンドをコマンドラインにエコー
                        しないメニューを定義できます。しかしメニューに割り当て
                        たコマンドのメッセージは表示されます。表示しないように
                        するにはそのコマンド自身に ":silent" を付けてください:
                        ":silent menu .... :silent command"

                                                *:uns* *:unsilent*
:uns[ilent] {command}   {command} を静かでなく実行します。|:silent| コマンドが
                        使用されているときのみ違いがでます。
                        |:silent| が使われていてもメッセージを表示したいときに
                        使用します。次の例では、|:silent| を使ってファイル読み
                        込みに関するメッセージを抑制しつつ、|:unsilent| を使っ
                        て各ファイルの最初の行を表示できるようにしています:
                :silent argdo unsilent echo expand('%') . ": " . getline(1)


                                                *:verb* *:verbose*
:[count]verb[ose] {command}
                        'verbose' に [count] を設定した状態で {command} を実行
                        します。[count] を省略した場合は1が設定されます。
                        ":0verbose" として 'verbose' をゼロにすることもできま
                        す。
                        ":silent" と一緒に使用すると、メッセージは生成されます
                        が、表示はされません。
                        ":silent" と ":verbose" を一緒に使用するとメッセージを
                        生成して |v:statusmsg| を確認することができます。例:
                                :let v:statusmsg = ""
                                :silent verbose runtime foobar.vim
                                :if v:statusmsg != ""
                                :  " foobar.vim が見付からない
                                :endif
                        コマンドを連続させた場合は、":verbose"は最初のコマンド
                        だけに適用されます:
                                :4verbose set verbose | set verbose
                                  verbose=4
                                  verbose=0
                        メッセージをログファイルに出力するには 'verbosefile'
                        を使ってください。

                                                        *:verbose-cmd*
Vim のオプション、マップ、短縮入力、ユーザー定義関数、ユーザー定義コマンド、強
調グループ、オートコマンド、を表示するとき、'verbose' がゼロ以外だと、それが設
定された場所も表示されます。手動で設定したときは "Last set" メッセージは表示さ
れません。関数、ユーザーコマンド、オートコマンド、を実行中に設定された場合に
は、そのコマンドを定義したスクリプトが表示されます。
{|+eval| が有効な場合のみ利用できます}

                                                        *K*
K                       カーソル位置のキーワードを調べるためのプログラムを実行
                        します。プログラムの名前はオプション 'keywordprg' (kp)
                        で設定します (初期設定は "man")。キーワードはアルファ
                        ベット、数字、'iskeyword' に設定された文字から構成され
                        ます。
                        カーソルの下、もしくは右側のキーワード使用されます。次
                        のコマンドで同じことができます:
                                :!{program} {keyword}
                        Vim の tools ディレクトリにサンプルプログラムがありま
                        す。'ref' という簡易スペルチェックプログラムです。
                        特別なケース:
                        - 'keywordprg' が ":" で始まるならば、それは Vim の Ex
                          コマンドとして [count] を伴って実行されます。
                        - 'keywordprg' が空の場合は、":help" コマンドが使われ
                          ます。検索しやすくするために 'iskeyword' に文字を追
                          加すると良いでしょう。
                        - 'keywordprg' が "man" もしくは ":" で始まる場合
                          は、"K" の前に入力されたカウントが "man" と
                          キーワードの間に挿入されます。例えば、"mkdir" に
                          カーソルがあって、"2K" を実行すると、結果はこのよう
                          になります:
                                !man 2 mkdir
                        - 'keywordprg' が "man -s" の場合は、"K" の前に入力さ
                          れたカウントは "-s" の後に挿入されます。カウントを省
                          略した場合は、"-s" は除去されます。
                        {Vi にはない}

                                                        *v_K*
{Visual}K               "K" と同じですが、キーワードにはビジュアル選択されたテ
                        キストが使用されます。複数行を選択したときは機能しませ
                        ん。{Vi にはない}

[N]gs                                                   *gs* *:sl* *:sleep*
:[N]sl[eep] [N] [m]     [N] 秒間何もしません。[m] を付けると、[N] ミリ秒間ス
                        リープします。"gs" に指定する数値は常に秒単位です。省
                        略時は 1 秒間スリープします。
                             :sleep          " 1 秒スリープ
                             :5sleep         " 5 秒スリープ
                             :sleep 100m     " 100 ミリ秒スリープ
                             10gs            " 10 秒スリープ
                        CTRL-C で割り込むことができます(MS-DOSではCTRL-Break)。
                        "gs" は "goto sleep" の略です。
                        カーソルが表示可能な位置にある場合は、スリープしている
                        間、カーソルはテキスト中に表示されます。
                        {Vi にはない}
                        スリープ中に受信した netbeans メッセージは処理されま
                        す。{|+netbeans_intg| 機能つきでコンパイルされたときの
                        み利用可能}


                                                        *g_CTRL-A*
CTRL-A                MEM_PROFILING を define して Vim をコンパイルしたとき
                        み使えます (通常は使いません)。メモリ使用量の統計を表
                        示します。Vim をデバッグするときなどに使います。
                        ビジュアルモード時のインクリメントは |v_g_CTRL-A| を参
                        照。

==============================================================================
2. less、more の代わりに Vim を使う                             *less*

less や more ではファイルを構文強調表示できません。代わりに、Vim を使うことが
できます。それには、シェルスクリプト "$VIMRUNTIME/macros/less.sh" を使います。

このシェルスクリプトは Vim スクリプト "$VIMRUNTIME/macros/less.vim" を使って、
less のコマンドをシミュレートするためのマップを設定します。less コマンド以外は
通常どおり、Vim のコマンドを使うことができます。

完璧に同じ動作ではありません。例えば、短いファイルを表示する場合でも、Vim はス
クリーンを占有します。しかし、ほとんどの場合は満足に機能します。それにとにか
く、構文強調表示することができます。

"h" キーを押すと使用できるコマンドのショートヘルプが表示されます。

もし less を使っていて異なるオプションを設定したい場合は vimrc に LessInitFunc
を定義します。例:

        func LessInitFunc()
          set nocursorcolumn nocursorline
        endfunc


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