*various.txt*	For Vim バージョン 9.2.  Last change: 2026 Feb 14


		  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' に自動更新されない項目が含まれている場合
			に、ステータスラインを更新するのに便利です。
			コマンドラインの編集が開始すると再描画はその後にまで延
			期されます。

						*:redrawt* *:redrawtabline*
:redrawt[abline]	タブページ行を再描画します。'tabline' に自動更新されな
			い項目が含まれている場合に、タブページ行を更新するのに
			便利です。

				*E1547* *:redrawtabp* *:redrawtabpanel*
:redrawtabp[anel]	タブパネルを再描画します。'tabpanel' に自動更新されな
			い項目が含まれている場合に、タブパネルを更新するのに便
			利です。

							*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 進数で表示し
			ます。
			覚え方: 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' の設定は影響しま
			せん。

			文字がダイグラフとして入力されている場合、その文字を生
			成するために使用できる 2 文字も出力します:
				<ö> 246, Hex 00f6, Oct 366, Digr o: ~
			これは、ö を入力するために CTRL-K o : とタイプすればよ
			いことを意味しています。

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

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

						*:p* *:pr* *:print* *E749*
:[range]p[rint] [flags]
			範囲 [range] の行を表示します (省略時は現在行を表示)。
			Vi との互換性のため、`:[range]|` と表記することもでき
			る (|:bar| を参照)。バッファが空の場合はエラーになる。
			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 と同じです。シフトキーを長く押し続けてしまう人
			のために追加されました。
			このコマンドは |Vim9| script ではサポートされません。
			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 と同じです。

							*:#!* *vim-shebang*
:#!{anything}		無視されます。そのため、次のようにして Vim script を実
			行することができます: >
				#!vim -S
				let mylogbook='$HOME/logbook.md'
				exe $':e {mylogbook}'
				$
				put ='## ' .. strftime('%d. %b %Y')
				norm! o
<
			新しい日記エントリを作成するために、スクリプトを実行可
			能にして実行します。

							*:z* *E144*
:[range]z[+-^.=][count]	[range]に指定した行の周辺を表示します。[range] を省略
			した場合は現在行の周辺を表示します。

			行の範囲をどれだけ表示するかは [count] に指定します。
			[count] を省略し、ウィンドウが一つだけなら 'scroll' オ
			プションの 2 倍の数が、そうでなければカレントウィンド
			ウの高さから 3 を引いた数が使われます。これは、下の表
			の "画面" の値です。

			[count] が指定された場合は 'window' オプションがその値
			に設定されます。

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

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

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

							*:z!*
:[range]z![+-^.=][count]
			":z" と同じですが、[count]が指定されてない時、デフォル
			トでVimのウィンドウの高さ-1になります。

:[range]z[!]#[+-^.=][count]				*:z#*
			":z" や ":z!" と同じですが、行番号も表示します。

							*:=*
:= [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>"

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

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

							*:!cmd* *:!*
:!{cmd}			シェルで {cmd} を実行します。'shell' と 'shelltype' も
			参照。フィルターコマンドについては、|:range!| を参照。

			Vim は、オプション 'shell'、'shcf'、'sxq'、'shq' を使
			用して、次の順序でコマンドラインを構築する:
			`&sh &shcf &sxq &shq {cmd} &shq &sxq`
			したがって、'sxq' と 'shq' の両方を設定することは可能
			だが、ほとんど役に立たない。`{cmd}` 内の追加のエスケー
			プは、'sxe' オプションによるものである可能性もある。

			また、{cmd} 内のすべての |cmdline-special| 文字は、シェ
			ルに渡される前に Vim によって置き換えられる。

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

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

			{cmd} が "%" を含んでいたらそれは現在のファイル名に展
			開されます。"#" を含んでいたらそれは代替ファイル名に展
			開されます。ファイル名に入っている特殊文字はエスケープ
			されないので、特殊文字の特殊な意味を打ち消すにはクォー
			トを使います: >
				:!ls "%"
<			ファイル名が "$" を含んでいるならシングルクォートを使
			うとより良いでしょう、ただしそれでうまくいくのはファイ
			ル名にシングルクォートが入っていない場合だけです: >
				:!ls '%'
<			次の例は常に機能します。ただし長い: >
				:exe "!ls " .. shellescape(expand("%"))
<			"%" か "#" のリテラルを得るにはバックスラッシュを前に
			置きます。例えば、"%" で始まるファイルの一覧なら: >
				:!ls \%*
<
			{cmd} の終わりを示す改行文字 (newline) 以降の文字は、
			次の ":" コマンドとして解釈されます。改行文字の前に
			バックスラッシュがある場合は、バックスラッシュは削除さ
			れ、改行文字は {cmd} の一部として解釈されます。改行文
			字の前にバックスラッシュがいくつあっても、一つだけが削
			除されます。

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

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

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

			ヒント: Vim ウィンドウで {cmd} を実行する場合は、
			|:terminal| コマンドを使用する。
			`:term ++shell ++close {cmd}` は、`:!{cmd}` の機能に近
			いものになる。

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

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

							*+feature-list*
   *+acl*		|ACL| サポートを含む
   *+ARP*		Amiga のみ: ARP サポートを含む
H  *+arabic*		|Arabic|言語サポート
H  *+autochdir*		|autochdir| オプションをサポート
T  *+autocmd*		|:autocmd|, 自動コマンド実行。8.0.1564 以降は常に有効
H  *+autoservername*	自動的に |clientserver| を有効にする
m  *+balloon_eval*	GUIでの |balloon-eval| サポート。GUI が有効で、
			Netbeans/Sun Workshop (|+sun_workshop|) または |+eval|
			が有効な場合に利用できます。
H  *+balloon_eval_term*	端末での |balloon-eval|サポート、'balloonevalterm'
N  *+browse*		|:browse| コマンド
T  *++builtin_terms*	全部の組み込み端末 |builtin-terms| 9.0.0280 以降は常に
			有効
N  *+byte_offset*	'statusline'の'o'フラグ、|go|、|:goto|をサポート
m  *+channel*		プロセス間通信 |channel|
T  *+cindent*		'cindent', C言語インデント; 常に有効
N  *+clientserver*	UnixとWin32: リモート呼び出し |clientserver|
   *+clipboard*		|clipboard| サポートコンパイル済み
   *+clipboard_working*	|clipboard| サポートコンパイル済みかつ動作中
   *+clipboard_provider*  |clipboard-providers| サポートコンパイル済み
T  *+cmdline_compl*	コマンドライン補完 |cmdline-completion|
T  *+cmdline_hist*	コマンドライン履歴 |cmdline-history|
T  *+cmdline_info*	'showcmd' と 'ruler'; 9.0.0657 以降は常に有効
S  *+cmdwin*		|cmdline-window| サポート
T  *+comments*		'comments' サポート
N  *+conceal*		"conceal" サポート。|conceal| |:syn-conceal| 他 参照。
N  *+cryptv*		暗号化サポート |encryption|
H  *+cscope*		|cscope| サポート
T  *+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*
   *+directx*		Win32 GUI のみ: DirectX と 'renderoptions'
   *+dnd*		"~レジスタ |quote_~|を使ったDnDのサポート
H  *+emacs_tags*	|emacs-tags| ファイル
N  *+eval*		式評価 {訳注: Vim script} |eval.txt|
T  *+ex_extra*		今は常にオン、かつてVimの拡張Exコマンドのためにあった
N  *+extra_search*	'hlsearch' と 'incsearch' オプション
-  *+farsi*		削除済み; |farsi| 言語
T  *+file_in_path*	|gf|, |CTRL-W_f| と |<cfile>| 9.0.265 以降は常に有効
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| と同じ
T  *+insert_expand*	|insert_expand| 挿入モード補完
m  *+ipv6*		IPv6 ネットワーク通信サポート |channel|
m  *+job*		job の開始と停止 |job|
T  *+jumplist*		|jumplist|; 8.2.3795以降は常に有効
H  *+keymap*		'keymap'
N  *+lambda*		|lambda| と |closure|
H  *+langmap*		'langmap'
N  *+libcall*		|libcall()|
N  *+linebreak*		'linebreak'、'breakat' と 'showbreak'
T  *+lispindent*	'lisp'
T  *+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'
N  *+mouse_dec*		Unix のみ: Dec端末マウス操作 |dec-mouse|
N  *+mouse_gpm*		Unix のみ: Linuxコンソールマウス操作 |gpm-mouse|
m  *+mouse_gpm/dyn*	|+mouse_gpm| と同じだが、ライブラリへの依存がオプショ
			ナル |/dyn|
N  *+mouse_jsbterm*	JSB マウスサポート |jsbterm-mouse|
N  *+mouse_netterm*	Unix のみ: nettermマウス操作 |netterm-mouse|
N  *+mouse_pterm*	QNX  のみ: ptermマウス操作 |qnx-terminal|
N  *+mouse_sysmouse*	Unix のみ: *BSD コンソールマウス操作 |sysmouse|
N  *+mouse_sgr*		Unix のみ: sgrマウス操作 |sgr-mouse|
N  *+mouse_urxvt*	Unix のみ: urxvtマウス操作 |urxvt-mouse|
N  *+mouse_xterm*	Unix のみ: xtermマウス操作 |xterm-mouse|
T  *+multi_byte*	Unicodeサポート、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|
T  *+num64*		64ビットの数値をサポート |Number|
   			8.2.0271以降は常に有効になっている。実際の数値のサイズ
			を確認するにはv:numbersizeを使用すること。
m  *+ole*		Win32 GUI のみ: |ole-interface|
N  *+packages*		|packages| の読み込み
T  *+path_extra*	'path'や'tags'での上下階の検索 9.0.0270 以降は常に有効
m  *+perl*		Perl インターフェイス |perl|
m  *+perl/dyn*		Perl インターフェイス |perl-dynamic| |/dyn|
N  *+persistent_undo*	永続 undo |undo-persistence|
N  *+popupwin*		ポップアップウィンドウ |popup-window|
   *+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|
m  *+python3/dyn-stable*
			Python 3 インターフェイス |python-dynamic|
			|python-stable| |/dyn|
N  *+quickfix*		|:make| と |quickfix| コマンド
N  *+reltime*		|reltime()| 関数, 'hlsearch'/'incsearch' タイムアウト,
			'redrawtime' オプション
H  *+rightleft*		右から左へタイプ 'rightleft'
m  *+ruby*		Ruby インターフェイス |ruby|
m  *+ruby/dyn*		Ruby インターフェイス |ruby-dynamic| |/dyn|
T  *+scrollbind*	'scrollbind'
N  *+signs*		|:sign|
T  *+smartindent*	'smartindent'
N  *+socketserver*	Unix のみ: クライアントサーバー機能用のソケットサーバー
			のバックエンド
H  *+sodium*		より良い暗号化サポートのために libsodium とコンパイル
			されている
H  *+sound*		|sound_playevent()|, |sound_playfile()| 関数等
N  *+spell*		スペルチェックサポート |spell|
N  *+startuptime*	|--startuptime| 引数
N  *+statusline*	オプション'statusline'、'rulerformat'と、
			'titlestring'と'iconstring'の特殊フォーマット
-  *+sun_workshop*	削除済み; |workshop|
N  *+syntax*		構文強調 |syntax|
   *+system()*		Unix のみ: |+fork|の反対
H  *+tabpanel*		|tabpanel| のサポート
T  *+tag_binary*	タグファイル内の高速(二分探索)検索 |tag-binary-search|
-  *+tag_old_static*	削除済み; 静的タグの方法 |tag-old-static|
-  *+tag_any_white*	削除済み; タグファイル内の空白を許すためのものだった
m  *+tcl*		Tcl インターフェイス |tcl|
m  *+tcl/dyn*		Tcl インターフェイス |tcl-dynamic| |/dyn|
m  *+terminal*		ターミナルウィンドウのサポート |terminal|
   *+terminfo*		|terminfo|でtermcapを代替
N  *+termresponse*	|t_RV| と |v:termresponse| のサポート
N  *+termguicolors*	xterm互換端末での 24 ビット色のサポート
T  *+textobjects*	|text-objects| 選択。9.0.0222 以降は常に有効。
N  *+textprop*		|text-properties|
   *+tgetent*		非Unix のみ: 外部termcapを使用可能
N  *+timers*		|timer_start()| 関数
T  *+title*		ウィンドウタイトルとアイコン設定 'title' 'icon';
			常に有効
N  *+toolbar*		|gui-toolbar|
T  *+user_commands*	ユーザー定義コマンド |user-commands|
			8.1.1210 からは常に有効。
H  *+vartabs*		可変幅のタブストップ。'vartabstop'
T  *+vertsplit*		ウィンドウの垂直分割 |:vsplit|; 8.0.1118 からは常に
			有効。
T  *+vim9script*	|Vim9| script
N  *+viminfo*		'viminfo'
T  *+virtualedit*	'virtualedit' 8.1.826 からは常に有効
T  *+visual*		ビジュアルモード |Visual-mode| 7.4.200からは常に有効
T  *+visualextra*	拡張ビジュアルモードコマンド |blockwise-operators|
T  *+vreplace*		|gR| と |gr|
   *+vtp*		MS-Windows コンソール上での 'termguicolors' のサポート
N  *+wayland*		Unix のみ: Wayland プロトコルのサポート
N  *+wayland_clipboard*	Unix のみ: Wayland セレクション/クリップボードのサポー
			ト
N  *+wayland_focus_steal*
			Unix のみ: データ制御プロトコルのないコンポジタでの
			Wayland クリップボードのサポート
T  *+wildignore*	'wildignore' 9.0.0278 以降は常に有効
T  *+wildmenu*		'wildmenu' 9.0.0279 以降は常に有効
T  *+windows*		複数ウィンドウ; 8.0.1118 からは常に有効
m  *+writebackup*	'writebackup'がデフォルトで有効
m  *+xim*		Xインプットメソッド |xim|
   *+xfontset*		Xフォントセットサポート |xfontset|
N  *+xattr*		拡張属性サポート付きでコンパイルされている (Linux のみ)
   *+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" コマンドを使ってバージョン依存の振る舞いを記述で
			きるので、削除されています。

							*:redi* *:redir*
: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] @">>		メッセージを無名レジスタに追記します。
							*E1092*
:redi[r] => {var}	メッセージを変数にリダイレクトします。
			旧来のスクリプトでは: 変数が存在しない場合は、作成され
			ます。変数がすでにある場合は、空文字列で初期化されま
			す。リダイレクトを開始した後で変数を変更したり、ロック
			したり、変数タイプを変更したりすると、それ以降のコマン
			ドがメッセージを出力するときにエラーが起こります。ロー
			カルな変数(関数内での l:var あるいはスクリプト内での
			s:var)を使用していて、別の `:redir` によって現在のもの
			が終了した場合、スコープが異なることで代入が失敗するこ
			とがあります。
			Vim9 script では: 変数が文字列として宣言されている必要
			があります。
			リダイレクトが終了するまでは、変数は空のままです。
			文字列変数のみ使えます。
			コマンド1つの出力を取得するのにはリダイレクトの代わりに
			|execute()| 関数を使うことができます。

:redi[r] =>> {var}	メッセージを変数に追記します。文字列変数のみ使えます。
								 *E1185*
:redi[r] END		メッセージのリダイレクトを終了します。

							*:filt* *:filter*
:filt[er][!] {pattern} {command}
:filt[er][!] /{pattern}/ {command}
			コマンドの出力を {pattern} に一致する行に制限します。
			例として xml ファイルだけを一覧する場合には以下のよう
			にします: >
				:filter /\.xml$/ oldfiles
<			[!] を付けたときは、コマンドの出力を {pattern} に一致
			しない行に制限します。

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

			パターンは出力に部分一致でマッチするので、行全体に
			マッチするパターンを指定する必要はありません。一部のコ
			マンドだけがフィルタリングをサポートしているので、サ
			ポートしているかどうかは実際に試してみてください。フィ
			ルタリングをサポートするコマンドの一部:
			   |:#|          - 行全体をフィルタ
			   |:clist|      - ファイル名かモジュール名でフィルタ
			   |:command|    - コマンド名でフィルタ
			   |:files|      - ファイル名でフィルタ
			   |:highlight|  - ハイライトグループでフィルタ
			   |:history|    - 履歴コマンドでフィルタ
			   |:jumps|      - ファイル名でフィルタ
			   |:let|        - 変数名でフィルタ
			   |:list|       - 行全体をフィルタ
			   |:llist|      - ファイル名かモジュール名でフィルタ
			   |:marks|      - 現在のファイル内のテキストか他のファ
			   		   イルのファイル名でフィルタ
			   |:oldfiles|   - ファイル名でフィルタ
			   |:registers|  - レジスタの内容でフィルタ
					   (複数行は動作しない)
			   |:set|        - オプション名でフィルタ

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

						*: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" は除去されます。

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

[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-Windowsでは
			CTRL-Break)。"gs" は "goto sleep" の略です。
			カーソルが表示可能な位置にある場合は、スリープしている
			間、カーソルはテキスト中に表示されます。
			キューに入れられたメッセージとタイマー (|+timers|) も
			スリープ中に処理されます。

							*:sl!* *:sleep!*
:[N]sl[eep]! [N][m]	上記と同じですが、カーソルが非表示となります。

							*:xrestore* *:xr*
:xr[estore] [display]	X11サーバーへの接続を再初期化します。Xサーバーが再起動
			した後に便利です。例えば、screen/tmux内でVimを長時間実
			行していて、異なるマシンから接続しているとき。
			[display] は $DISPLAY 環境変数の形式にする必要がありま
			す (例: "localhost:10.0")
			[display] を省略すると、前回このコマンドの実行で使用し
			たものと同じ値を使用して、X11サーバーへの接続を再初期
			化します。値が指定されていない場合は、Vimの起動時と同
			じ環境変数 $DISPLAY の値が使用されます。|v:clipmethod|
			も更新されます。
			{|+xterm_clipboard| 機能つきでコンパイルされたときのみ
			利用可能}

							*:clipreset* *:clip*
:clip[reset]		'clipmethod' オプションを使用して、クリップボードへの
			アクセス方法の新しい選択を試みる。これは、現在の方法が
			利用できなくなり、別の方法を試したい場合に便利です。
			{|+clipboard| 機能つきでコンパイルされたときのみ利用可
			能}

							*g_CTRL-A*
g 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:noet:ft=help:norl:
