Up: 目次   [Index]


その他の樣々なコマンド

*various.txt*   For Vim バージョン 8.1.  Last change: 2019 Oct 17


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

樣々なコマンド

1. 樣々なコマンド|various-cmds|
2. less、more の代はりに Vim を使ふ|less|

1. 樣々なコマンド

CTRL-L

畫面を消去して再描畫します。すでに入力されてゐるキーをすべて處理してから再描畫します。

:redr[aw][!]

畫面をすぐに再描畫します。! を付けたときは、畫面を消去してから再描畫します。

スクリプトや函數を實行してゐる途中で畫面を更新するのに便利です。マップの實行中や、’lazyredraw’ がオンに設定されてゐるときでも更新できます。

:redraws[tatus][!]

カレントウィンドウのステータスラインを再描畫します。! を付けたときは、すべてのステータスラインを再描畫します。

statusline’ に自動更新されない項目が含まれてゐる場合に、ステータスラインを更新するのに便利です。

:redrawt[abline]

タブページ行を再描畫します。’tabline’ に自動更新されない項目が含まれてゐる場合に、タブページ行を更新するのに便利です。

<Del>

ノーマルモードで數値 (|count|) を入力してゐるときは、數字の最後の桁を削除します。

Note:
同じことをするのに <BS> を使ひたい場合は、次のマップを .vimrc に追加してください:

:map CTRL-V <BS>   CTRL-V <Del>

<Del> が望みどほりに機能しない場合には |:fixdel| を參照。

{譯注: "CTRL-V <BS>"は CTRL-V を押してから <BS> を押す。}

:as[cii] または
ga

カーソル位置の文字の文字コードを、10/16/8 進數で表示します。

覺え方: Get Ascii value (ASCII コードを取得)

カーソルが ’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’ の設定は影響しません。

{Vi にはない}

文字がダイグラフとして入力されてゐる場合、その文字を生成するために使用できる 2 文字も出力します:

<ö> 246, Hex 00f6, Oct 366, Digr o:

これは、‘ö’ を入力するために CTRL-K o : とタイプすればよいことを意味してゐます。

g8

カーソル位置の文字のバイト列を 16 進數で表示します。エンコーディングが |UTF-8| の場合のみ正しく機能します。合成文字も表示されます。’maxcombine’ の設定は影響しません。

2 文字の合成文字が結合されてゐる文字の表示例:

e0 b8 81 + e0 b8 b9 + e0 b9 89
8g8

カーソル以降の不正な UTF-8 バイト列を檢索します。次の 2 つの狀況で機能します。

  1. encoding’ が 8-bit エンコーディングの場合。
  2. encoding’ が "utf-8" で、’fileencoding’ が 8-bit エンコーディングの場合。

UTF-8 のファイルを開いたはずが、不正なバイト列が含まれてゐて、別の 8-bit エンコーディングとして開かれてしまつた場合などに使つてください。

檢索がファイル末尾に達しても、ファイル先頭に戾つて檢索を繼續しません。

Note:
カーソルがすでに不正なバイト列の上にある場合は、カーソルは移動しません。

:[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| を參照してください。

:[range]P[rint] [count] [flags]

:print と同じです。シフトキーを長く押し續けてしまふ人のために追加されました。

Note:
ユーザーコマンドでこのコマンドを上書きできます。[flags] については |ex-flags| を參照してください。

:[range]l[ist] [count] [flags]

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

:[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
:{range}z[+-^.=]{count}

{range} に指定した行の周邊を表示します。{range} を省略した場合は現在行の周邊を表示します。行の範圍をどれだけ表示するかは {count} に指定します。{count} を省略した場合、ウィンドウが 1 つだけなら ’scroll’ オプションの 2 倍の數が、さうでなければカレントウィンドウの高さから 3 を引いた數が使はれます。

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

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

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

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

:{range}z#[+-^.=]{count}

":z" と同じですが、行番號も表示します。

:= [flags]

最終行の行番號を表示します。[flags] については |ex-flags| を參照してください。

:{range}= [flags]

{range} で指定した範圍の最終行の行番號を表示します。たとへば、次のコマンドは現在行の行番號を表示します。

:.=

[flags] については |ex-flags| を參照してください。

:norm[al][!] {commands}

ノーマルモードコマンド {commands} を實行します。コマンドラインからノーマルモードのコマンドを實行できます。{commands} は、ノーマルモードで入力されたときと同じやうに實行されます。{commands} による變更は、1 回のアンドゥで取り消されます。エラーが發生すると實行停止します。

[!] を付けた場合はマップは適用されません。付けなかつた場合、このコマンドが非再歸マップ (|: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>"
:{range}norm[al][!] {commands}

{range} の各行に對してノーマルモードコマンド {commands} を實行します。{commands} はカーソルが行頭にある狀態で實行されます。その他は範圍指定の無い ":normal" コマンドと同じです。

:sh[ell]

シェルを起動します。シェルを終了 ("exit" コマンドを實行) すると Vim に戾つてきます。オプション ’shell’ に設定されてゐるシェルコマンドを使ひます。

Note:
Amiga では、コンパイラから QuickFix モードで Vim が起動された場合には、コンパイラが標準入力を非對話型モードにしてしまふので使用できません。

:!{cmd}

シェルで {cmd} を實行します。’shell’ と ’shelltype’ も參照。

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

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

{cmd} が "%" を含んでゐたらそれは現在のファイル名に展開されます。特殊文字はエスケープされないので、特殊文字の特殊な意味を打ち消すにはクォートを使ひます:

:!ls "%"

ファイル名が "$" を含んでゐるならシングルクォートを使ふといいでせう (ただしシングルクォートは問題がある場合もある):

:!ls '%'

次の例は常に機能します。ただし長い:

:exe "!ls " . shellescape(expand("%"))

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

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

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

外部プログラムはメッセージを出力するかもしれないので、外部プログラムを實行した後にスクリーンが再描畫されます。そのため、プログラムの出力を見逃してしまはないやうに、hit-enter プロンプトが表示されます。プロンプトを表示したくない場合は、次のやうにします:

:silent! !{cmd}

これでスクリーンは再描畫されません。外部プログラムが何かを出力した場合は CTRL-L や ":redraw!" で再描畫できます。|shell-window| も參照。

:!!

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

:ve[rsion]

エディタのバージョンを表示します。コンパイル時に "__DATE__" が利用可能だつた場合には、コンパイルされた日時も表示されます。利用不可だつた場合は、リリースの最終修正日時が表示されます。 Vim の、どの機能が有效になつてゐるかも表示されます。機能名の前に ’+’ があれば、その機能は有效になつてゐます。’-’ のときは無效になつてゐます。機能の有無を變へるには feature.h を編輯して、Vim をコンパイルし直す必要があります。

Vim script から機能の有無を確認するには |has()| を使ひます。以下に、機能の槪要を示します。

行頭の文字はその機能が含まれる最小構成です:

Ttiny (常に含まれる)
Ssmall
Nnormal
Bbig
Hhuge
m手動で組み込むか他の機能に依存
(none)システム依存

例へば "N" と書いてあれば、その機能は normal、big、huge バージョンの Vim に含まれます。

+acl|ACL| サポートを含む
+ARPAmiga のみ: ARP サポートを含む
B+arabic|Arabic| 言語サポート
N+autocmd|:autocmd|, 自動コマンド實行
H+autoservername自動的に |clientserver| を有效にする
m+balloon_evalGUI での |balloon-eval| サポート。GUI が有效で、Netbeans/Sun Workshop (|+sun_workshop|) または |+eval| が有效な場合に利用できます。
H+balloon_eval_termターミナルでの |balloon-eval| サポート。’balloonevalterm
N+browse|:browse| コマンド
N+builtin_terms幾つかの組み込み端末 |builtin-terms|
B++builtin_terms全部の組み込み端末 |builtin-terms|
N+byte_offsetstatusline’ の ’o’ フラグ、|go|, |:goto| をサポート
m+channelプロセス閒通信 |channel|
N+cindent|'cindent'|, C 言語インデント
N+clientserverUnix と Win32: リモート呼び出し |clientserver|
+clipboard|clipboard| サポートコンパイル濟み
+clipboard_working|clipboard| サポートコンパイル濟みかつ動作中
T+cmdline_complコマンドライン補完 |cmdline-completion|
S+cmdline_histコマンドライン履歷 |cmdline-history|
N+cmdline_info|'showcmd'| と |'ruler'|
T+comments|'comments'| サポート
B+conceal"conceal" サポート。|conceal| |:syn-conceal| 他參照。
N+cryptv暗號化サポート |encryption|
B+cscope|cscope| サポート
m+cursorbind|'cursorbind'| サポート
m+cursorshape|termcap-cursor-shape| サポート
m+debugVim がデバッグ用にコンパイルされた
N+dialog_gui|:confirm| の GUI ダイアログをサポート
N+dialog_con|:confirm| のコンソールダイアログをサポート
N+dialog_con_gui|:confirm| GUI とコンソールダイアログをサポート
N+diff|vimdiff| と ’diff
N+digraphs|digraphs|
+directxWin32 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|gf|, |CTRL-W_f| と |<cfile>|
N+find_in_pathinclude ファイル檢索: |[I|, |:isearch|, |CTRL-W_CTRL-I|, |:checkpath|, その他
N+folding|folding|
+footer|gui-footer|
+forkUnix のみ: |fork| シェルコマンド
+float浮動小數點數サポート
m+fullscreenMacVim のみ: フルスクリーンで編輯する
N+gettextメッセージの飜譯 |multi-lang|
+GUI_AthenaUnix のみ: Athena |GUI|
+GUI_neXtawUnix のみ: neXtaw |GUI|
+GUI_GTKUnix のみ: GTK+ |GUI|
+GUI_MotifUnix のみ: Motif |GUI|
+GUI_PhotonQNX のみ: Photon |GUI|
m+hangul_inputハングル入力サポート |hangul|
+iconviconv() 函數が組み込まれてゐる
+iconv/dyn|iconv-dynamic| |/dyn| と同じ
T+insert_expand|insert_expand| 插入モード補完
m+jobjob の開始と停止 |job|
S+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|
T+localmapバッファローカルなマップのサポート |:map-local|
m+lua|Lua| インターフェイス
m+lua/dyn|Lua| インターフェイス |/dyn|
N+menu|:menu|
N*+mksession|:mksession|
T+modify_fname|filename-modifiers|
T+mouseマウス操作 |mouse-using|
N+mouseshape|'mouseshape'|
B+mouse_decUnix のみ: Dec 端末マウス操作 |dec-mouse|
N+mouse_gpmUnix のみ: Linux コンソールマウス操作 |gpm-mouse|
N+mouse_jsbtermJSB マウスサポート |jsbterm-mouse|
B+mouse_nettermUnix のみ: netterm マウス操作 |netterm-mouse|
N+mouse_ptermQNX のみ: pterm マウス操作 |qnx-terminal|
N+mouse_sysmouseUnix のみ: *BSD コンソールマウス操作 |sysmouse|
B+mouse_sgrUnix のみ: sgr マウス操作 |sgr-mouse|
N+mouse_urxvtUnix のみ: urxvt マウス操作 |urxvt-mouse|
N+mouse_xtermUnix のみ: xterm マウス操作 |xterm-mouse|
N+multi_byte16 ビット、32 ビット文字 |multibyte|
+multi_byte_imeWin32 IME サポート
N+multi_lang多言語サポート |multi-lang|
m+mzschemeMzscheme インターフェイス |mzscheme|
m+mzscheme/dynMzscheme インターフェイス |mzscheme-dynamic| |/dyn|
m+netbeans_intg|netbeans|
+num6464 ビットの數値をサポート |Number|
m+odbeditorMacVim のみ: ODB エディタプロトコールのサポート |odbeditor|
m+oleWin32 GUI のみ: |ole-interface|
N+packages|packages| の讀み込み
N+path_extrapath’ や ’tags’ での上下階の檢索
m+perlPerl インターフェイス |perl|
m+perl/dynPerl インターフェイス |perl-dynamic| |/dyn|
N+persistent_undo永續 undo |undo-persistence|
+postscript|:hardcopy| で PostScript ファイルの書き出し
N+printer|:hardcopy| コマンド
H+profile|:profile| コマンド
m+pythonPython 2 インターフェイス |python|
m+python/dynPython 2 インターフェイス |python-dynamic| |/dyn|
m+python3Python 3 インターフェイス |python|
m+python3/dynPython 3 インターフェイス |python-dynamic| |/dyn|
N+quickfix|:make| と |quickfix| コマンド
N+reltime|reltime()| 函數, ’hlsearch’/’incsearch’ タイムアウト, ’redrawtime’ オプション
B+rightleft右から左へタイプ |'rightleft'|
m+rubyRuby インターフェイス |ruby|
m+ruby/dynRuby インターフェイス |ruby-dynamic| |/dyn|
T+scrollbind|'scrollbind'|
B+signs|:sign|
N+smartindent|'smartindent'|
B+sound|sound_playevent()|, |sound_playfile()| 函數等
N+spellスペルチェックサポート |spell|
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削除濟み; タグファイル內の空白を許すためのものだつた
m+tclTcl インターフェイス |tcl|
m+tcl/dynTcl インターフェイス |tcl-dynamic| |/dyn|
m+terminalターミナルウィンドウのサポート |terminal|
+terminfo|terminfo| で termcap を代替
N+termresponse|t_RV| と |v:termresponse| のサポート
B+termguicolorsxterm 互換端末での 24 ビット色のサポート
N+textobjects|text-objects| 選擇
N+textprop|text-properties|
+tgetent非 Unix のみ: 外部 termcap を使用可能
N+timers|timer_start()| 函數
N+titleウィンドウタイトルとアイコン設定 |'title'| |'icon'|
N+toolbar|gui-toolbar|
m+transparencyMacVim のみ: ウィンドウ背景の透明度
T+user_commandsユーザー定義コマンド |user-commands|。8.1.1210 からは常に有效。
B+vartabsタブストップの可變幅 |'vartabstop'|
N+viminfo|'viminfo'|
+vertsplitウィンドウの垂直分割 |:vsplit|。8.0.1118 からは常に有效。
N+virtualedit|'virtualedit'|
T+visualビジュアルモード |Visual-mode| 7.4.200からは常に有效
T+visualextra擴張ビジュアルモードコマンド |blockwise-operators|
T+vreplace|gR| と |gr|
+vtpMS-Windows のコンソール上での ’termguicolors’ のサポート
N+wildignore|'wildignore'|
N+wildmenu|'wildmenu'|
T+windows複數ウィンドウ。8.0.1118 からは常に有效
m+writebackup|'writebackup'| がデフォルトで有效
m+ximX インプットメソッド |xim|
+xfontsetX フォントセットサポート |xfontset|
+xpmpixmap サポート
m+xpm_w32Win32 GUI のみ: pixmap サポート |w32-xpm-support|
+xsmpXSMP (X session management) サポート
+xsmp_interact對話型 XSMP (X session management) サポート
N+xterm_clipboardUnix のみ: xterm クリップボード操作
m+xterm_savexterm のスクリーンを保存と復歸 |xterm-screens|
N+X11Unix のみ: ウィンドウタイトルを復歸可能 |X11|

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

:ve[rsion] {nr}

現在は無視されます。これはかつて .vimrc の中でバージョン番號をチェックするために使はれてゐました。現在は ":if" コマンドを使つてバージョン依存の振る舞ひを記述できるので、削除されてゐます。

:redi[r][!] > {file}

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

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

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

:redi[r] >> {file}

メッセージを {file} にリダイレクトします。{file} が既に存在する場合は追記します。

:redi[r] @{a-zA-Z}
:redi[r] @{a-zA-Z}>

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

:redi[r] @{a-z}>>

メッセージをレジスタ {a-z} に追記します。

:redi[r] @*>
:redi[r] @+>

メッセージをセレクションまたはクリップボードにリダイレクトします。互換性のため、レジスタ名の後ろの ">" は省略できます。|quotestar| と |quoteplus| を參照。

:redi[r] @*>>
:redi[r] @+>>

メッセージをクリップボードに追記します。

:redi[r] @">

メッセージを無名レジスタにリダイレクトします。互換性のため、レジスタ名の後ろの ">" は省略できます。

:redi[r] @">>

メッセージを無名レジスタに追記します。

:redi[r] => {var}

メッセージを變數にリダイレクトします。變數が存在しない場合は、作成されます。變數がすでにある場合は、空文字列で初期化されます。

リダイレクトが終了するまでは、變數は空のままです。文字列變數のみ使へます。リダイレクトを開始した後で變數を變更したり、ロックしたり、變數タイプを變更したりすると、それ以降のコマンドがメッセージを出力するときにエラーが起こります。

コマンド 1 つの出力を取得するのには |execute()| 函數を使ふことができます。

:redi[r] =>> {var}

メッセージを變數に追記します。文字列變數のみ使へます。

:redi[r] END

メッセージのリダイレクトを終了します。

:filt[er][!] {pat} {command}
:filt[er][!] /{pat}/ {command}

コマンドの出力を {pat} に一致する行に制限します。例として xml ファイルだけを一覽する場合には以下のやうにします:

:filter /\.xml$/ oldfiles

[!] を付けたときは、コマンドの出力を {pat} に一致しない行に制限します。

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

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

|:#|行全體をフィルターする
|:clist|ファイル名もしくはモジュール名によつてフィルターする
|:command|コマンド名によつてフィルターする
|:files|ファイル名によつてフィルターする
|:highlight|ハイライトグループによつてフィルターする
|:jumps|ファイル名によつてフィルターする
|:let|變數名によつてフィルターする
|:list|行全體をフィルターする
|:llist|ファイル名もしくはモジュール名によつてフィルターする
|:marks|現在のファイル內のテキストか他のファイルのファイル名でフィルタ
|:oldfiles|ファイル名によつてフィルターする
|:registers|レジスタの內容でフィルター (複數行は動作しない)
|:set|變數名によつてフィルターする

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

: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[ilent] {command}

{command} を靜かでなく實行します。|:silent| コマンドが使用されてゐるときのみ違ひがでます。|:silent| が使はれてゐてもメッセージを表示したいときに使用します。次の例では、|:silent| を使つてファイル讀み込みに關するメッセージを抑制しつつ、|:unsilent| を使つて各ファイルの最初の行を表示できるやうにしてゐます:

:silent argdo unsilent echo expand('%') . ": " . getline(1)
:[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’ を使つてください。

Vim のオプション、マップ、短縮入力、ユーザー定義函數、ユーザー定義コマンド、强調グループ、自動コマンド、を表示するとき、’verbose’ がゼロ以外だと、それが設定された場所も表示されます。手動で設定したときは "Last set" メッセージは表示されません。函數、ユーザーコマンド、自動コマンド、を實行中に設定された場合には、そのコマンドを定義したスクリプトが表示されます。

{|+eval| が有效な場合のみ利用できます}

K

カーソル位置のキーワードを調べるためのプログラムを實行します。プログラムの名前はオプション ’keywordprg’ (kp) で設定します (初期設定は "man")。キーワードはアルファベット、數字、’iskeyword’ に設定された文字から構成されます。

カーソルの下、もしくは右側のキーワード使用されます。次のコマンドで同じことができます:

:!{program} {keyword}

Vim の tools ディレクトリにサンプルプログラムがあります。"ref" といふ簡易スペルチェックプログラムです。

特別なケース:

{Visual}K

"K" と同じですが、キーワードにはビジュアル選擇されたテキストが使用されます。複數行を選擇したときは機能しません。

[N]gs
:[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" の略です。カーソルが表示可能な位置にある場合は、スリープしてゐる閒、カーソルはテキスト中に表示されます。

スリープ中に受信した netbeans メッセージは處理されます。

{|+netbeans_intg| 機能つきでコンパイルされたときのみ利用可能}

:xr[estore] [display]

X11 サーバーへの接續を再初期化します。Xサーバーが再起動した後に便利です。例へば、screen/tmux 內で Vim を長時閒實行してゐて、異なるマシンから接續してゐるとき。 [display] は $DISPLAY 環境變數の形式にする必要があります (例: "localhost:10.0") [display] を省略すると、前囘このコマンドの實行で使用したものと同じ値を使用して、X11 サーバーへの接續を再初期化します。 値が指定されてゐない場合は、Vim の起動時と同じ環境變數 $DISPLAY の値が使用されます。 {|+clipboard| 機能つきでコンパイルされたときのみ利用可能}

g CTRL-A

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

2. less、more の代はりに Vim を使ふ

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

Up: 目次   [Index]