vim-jp / vimdoc-ja / various

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

メインヘルプファイルに戻る English | 日本語
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 script を実
                        行することができます:
                                #!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 script の式を指定できるの
                        で、印字可能文字を使って制御文字を入力することもできま
                        す。

                        例:
                                :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 script から機能の有
                        無を確認するには 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 script} eval.txt
N  +ex_extra          今は常にオン、かつてVimの拡張Exコマンドのためにあった
N  +extra_search      'hlsearch' と 'incsearch' オプション
B  +farsi             farsi 言語
N  +file_in_path      gfCTRL-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          gRgr
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} に一致しな
                        い行に制限します。

                        {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 script "$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: