*various.txt* For
Vim バージョン 7.3. Last change: 2012 Jan 15
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 に追加してください:
<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 (アスキーコードを取得)
{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| を参照してください。
:
[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 スクリプト
を実行することができます:
*: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} による変更は、一回のアン
ドゥで取り消されます。
エラーが発生すると実行停止します。
[!] を付けた場合はマップは適用されません。
{commands} は実行を完了する (ノーマルモードに戻る) 必
要があります。
{commands} が完了しない場合は、最後のコマンドが
<Esc>
や
<C-C> で終了したのと同じように動作します。
":normal" の実行中は画面は更新されません。挿入モードも
必ず完了します (挿入モードを開始するには
|:startinsert| を参照)。":" コマンドも必ず完了します。
"Q" や "gQ" を使って Ex モードを開始することはできませ
ん。
{commands} の最初にスペースは置けません。そうしたい場
合はスペースの前にカウント指定の 1 (数字の 1) を置いて
ください。"1 " は 1 つのスペースになります。
{command} の実行ではオプション
'insertmode' は無視され
ます。'|' は :normal コマンドの一部として処理されるの
で、他のコマンドを続けて書けません。:normal コマンドは
'maxmapdepth' の制限内で再帰的に呼び出すことができま
す。
このコマンドが再マップされないマップ
|:noremap|から呼ば
れた場合でも、([!] を付けない限り)
{commands} は再マッ
プされます
|:execute| コマンドには Vim スクリプトの式を指定できる
ので、印字可能文字を使って制御文字を入力することもでき
ます。例:
{Vi には、もちろんない}
{
|+ex_extra|が有効な場合のみ利用できます}
:
{range}norm[al][!]
{commands} *:normal-range*
{range} の各行に対してノーマルモードコマンド
{commands}
を実行します。
{commands} はカーソルが行頭にある状態で
実行されます。その他は範囲指定の無い ":normal" コマン
ドと同じです。
{Vi にはない}
{
|+ex_extra|が有効な場合のみ利用できます}
*: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 !
\!" と解釈、実行されます。
外部プログラムを実行した後で、開いているファイルのタイ
ムスタンプがチェックされます
|timestamp|。
{cmd} の中の '|' はシェルに渡されます。'|' を使って
Vim コマンドを続けて書くことはできません。(
|:bar|参
照)。
{cmd} の終わりを示す改行文字 (newline) 以降の文字は、
次の ":" コマンドとして解釈されます。改行文字の前に
バックスラッシュがある場合は、バックスラッシュは削除さ
れ、改行文字は
{cmd} の一部として解釈されます。改行文
字の前にバックスラッシュがいくつあっても、一つだけが削
除されます。
Unix ではシェルを非対話型モードで起動します。対話型
モードで起動したい場合 (aliasを使いたい場合など) は、
'shellcmdflag' に "-ic" を設定してください。
Win32の場合は
|:!start|も参照。
外部プログラムはメッセージを出力するかもしれないので、
外部プログラムを実行した後にスクリーンが再描画されます。
そのため、プログラムの出力を見逃してしまわないように、
hit-enter プロンプトが表示されます。プロンプトを表示し
たくない場合は、次のようにします:
これでスクリーンは再描画されません。外部プログラムが何
かを出力した場合は
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*
*+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|をサポート
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|
*+dnd* "~レジスタ
|quote_~|を使ったDnDのサポート
B *+emacs_tags* |emacs-tags| ファイル
N *+eval* 式評価(訳注:Vimスクリプト)
|eval.txt|
N *+ex_extra* Vimの拡張Exコマンド:
|:center|,
|:left|、
|:normal|、
|:retab| 及び
|:right|
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| 挿入モード補完
N *+jumplist* |jumplist|
B *+keymap* |'keymap'|
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|
B *+mouse_netterm* Unix のみ: nettermマウス操作
|netterm-mouse|
N *+mouse_pterm* QNX のみ: ptermマウス操作
|qnx-terminal|
N *+mouse_sysmouse* Unix のみ: *BSD コンソールマウス操作
|sysmouse|
N *+mouse_urxvt* Unix のみ: urxvtマウス操作
|urxvt-mouse|
N *+mouse_xterm* Unix のみ: xtermマウス操作
|xterm-mouse|
B *+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|
m
*+ole* Win32 GUI のみ:
|ole-interface|
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'|
m
*+sniff* SniFFインターフェース
|sniff|
N *+startuptime* |--startuptime| 引数
N *+statusline* オプション
'statusline'、
'rulerformat'と、
'titlestring'と
'iconstring'の特殊フォーマット
m
*+sun_workshop* |workshop|
N *+syntax* 構文強調
|syntax|
*+system()* Unix のみ:
|+fork|の反対
N *+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| のサポート
N *+textobjects* |text-objects| 選択
*+tgetent* 非Unix のみ: 外部termcapを使用可能
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|
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|
m
*+xpm_w32* Win32 GUI のみ: pixmap サポート
|:sign-define|
*+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" を実行すると、新しいリダイレクトを開始する前
に、すでに実行されている他のリダイレクトは閉じられま
す。
実行中のコマンドやメッセージがスクリーンに表示されない
ようにするには、コマンドを関数の中に書き、その関数を
":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 にはない}
:redi[r] =>>
{var} メッセージを変数に追記します。文字列変数のみ使えます。
{Vi にはない}
:redi[r] END メッセージのリダイレクトを終了します。
{Vi にはない}
*:sil* *:silent*
:sil[ent][!]
{command} {command} を静かに実行します。メッセージは表示されず、
メッセージ履歴にも残りません。
[!] を付けた場合は、エラーが起きたときでもエラーメッ
セージは表示されず、コマンドやマップは中断されません。
その場合でも
|v:errmsg| はセットされます。
[!] を付けない場合は、エラーメッセージは通常どおりに表
示されます。
|:redir| によるリダイレクトは通常どおり機能します。
|:silent| を使うとコマンドの出力をスクリーンに表示する
ことなくリダイレクトすることができます。例:
ノーマルモードコマンドを静かに実行するには
|:normal|コ
マンドを使用します。例えばメッセージを表示することなく
文字列を検索するには:
":silent!" は失敗するかもしれないコマンドを実行すると
きには便利ですが、エラーが無視されてしまいます。例:
":silent" は hit-enter プロンプトも抑制します。外部プ
ログラムを実行したとき、その出力は表示されたままになっ
てしまいます。その場合は
|CTRL-L|でスクリーンを綺麗にで
きます。
":silent menu ..." はコマンドをコマンドラインにエコーし
ないメニューを定義できます。しかしメニューに割り当てた
コマンドのメッセージは表示されます。表示しないようにす
るにはそのコマンド自身に ":silent" を付けてください:
":silent menu .... :silent command"
*:uns* *:unsilent*
:uns[ilent]
{command} {command} を静かでなく実行します。
|:silent| コマンドが
使用されているときのみ違いがでます。
|:silent| が使われていてもメッセージを表示したいときに
使用します。次の例では、
|:silent| を使ってファイル読み
込みに関するメッセージを抑制しつつ、
|:unsilent| を使っ
て各ファイルの最初の行を表示できるようにしています:
*:verb* *:verbose*
:
[count]verb[ose]
{command}
'verbose' に
[count] を設定した状態で
{command} を実行
します。
[count] を省略した場合は1が設定されます。
":0verbose" として
'verbose' をゼロにすることもできま
す。
":silent" と一緒に使用すると、メッセージは生成されます
が、表示はされません。
":silent" と ":verbose" を一緒に使用するとメッセージを
生成して
|v:statusmsg| を確認することができます。例:
コマンドを連続させた場合は、":verbose"は最初のコマンド
だけに適用されます:
verbose=4
verbose=0
メッセージをログファイルに出力するには
'verbosefile'
を使ってください。
*:verbose-cmd*
Vim のオプション、マップ、短縮入力、ユーザー定義関数、ユーザー定義コマンド、強
調グループ、オートコマンド、を表示するとき、
'verbose' がゼロ以外だと、それが設
定された場所も表示されます。手動で設定したときは "Last set" メッセージは表示さ
れません。関数、ユーザーコマンド、オートコマンド、を実行中に設定された場合に
は、そのコマンドを定義したスクリプトが表示されます。
{
|+eval| が有効な場合のみ利用できます}
*K*
K カーソル位置のキーワードを調べるためのプログラムを実行
します。プログラムの名前はオプション
'keywordprg' (kp)
で設定します (初期設定は "man")。キーワードはアルファ
ベット、数字、
'iskeyword' に設定された文字から構成され
ます。
カーソルの下、もしくは右側のキーワード使用されます。次
のコマンドで同じことができます:
Vim の tools ディレクトリにサンプルプログラムがありま
す。
'ref' という簡易スペルチェックプログラムです。
特別なケース:
-
'keywordprg' が空の場合は、":help" コマンドが使われ
ます。検索しやすくするために
'iskeyword' に文字を追
加すると良いでしょう。
-
'keywordprg' が "man" の場合は、"K" の前に入力された
カウントが "man" とキーワードの間に挿入されます。例
えば、"mkdir" にカーソルがあって、"2K" をを実行する
と、結果はこのようになります:
-
'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 秒間スリープします。
CTRL-C で割り込むことができます(MS-DOSでは
CTRL-Break)。
"gs" は "goto sleep" の略です。
カーソルが表示可能な位置にある場合は、スリープしている
間、カーソルはテキスト中に表示されます。
{Vi にはない}
スリープ中に受信した netbeans メッセージは処理されま
す。{
|+netbeans_intg| 機能つきでコンパイルされたときの
み利用可能}
*g_CTRL-A*
g
CTRL-A MEM_PROFILING を define して Vim をコンパイルしたとき
み使えます (通常は使いません)。メモリ使用量の統計を表
示します。Vim をデバッグするときなどに使います。
==============================================================================
2. less、more の代わりに Vim を使う
*less*
less や more ではファイルを構文強調表示できません。代わりに、Vim を使うことが
できます。それには、シェルスクリプト "$VIMRUNTIME/macros/less.sh" を使います。
このシェルスクリプトは Vim スクリプト "$VIMRUNTIME/macros/less.vim" を使って、
less のコマンドをシミュレートするためのマップを設定します。less コマンド以外は
通常どおり、Vim のコマンドを使うことができます。
完璧に同じ動作ではありません。例えば、短いファイルを表示する場合でも、Vim はス
クリーンを占有します。しかし、ほとんどの場合は満足に機能します。それにとにか
く、構文強調表示することができます。
"h" キーを押すと使用できるコマンドのショートヘルプが表示されます。
vim:tw=78:ts=8:ft=help:norl: