コマンドラインのマニュアル

Man » vim マニュアルオンライン - vim man ページの詳細なオンラインドキュメント

🌍
vim - Vi IMproved、プログラマー向けのテキストエディター

概要

vim [オプション] [ファイル ..]
vim [オプション] vim [オプション] -t タグ
vim [オプション] -q [エラーファイル]

ex
view
gvim gview evim eview
rvim rview rgvim rgview

説明

Vim は、Vi と互換性のあるテキストエディターです。あらゆる種類のプレーンテキストを編集するために使用できます。特に、プログラムの編集に役立ちます。

Vi よりも多くの機能が追加されています。マルチレベルの元に戻し、マルチウィンドウとバッファー、構文ハイライト、コマンドライン編集、ファイル名の補完、オンラインヘルプ、ビジュアル選択などがあります。":help vi_diff.txt" を参照して、Vim と Vi の違いの概要を確認してください。

Vim を実行中に、オンラインヘルプシステムを使用して多くのヘルプを得ることができます。コマンドは ":help" です。オンラインヘルプセクションを参照してください。

通常、Vim は次のコマンドで単一のファイルを編集するために起動されます。

vim ファイル

一般的には、Vim は次のように起動されます。

vim [オプション] [ファイルリスト]

ファイルリストが指定されていない場合、エディターは空のバッファーで起動します。それ以外の場合は、次の 4 つの方法のいずれかを使用して、編集する 1 つ以上のファイルを選択できます。

ファイル .. ファイル名のリストです。最初のファイルが現在のファイルになり、バッファーに読み込まれます。カーソルはバッファーの最初の行に配置されます。":next" コマンドで他のファイルに移動できます。先頭がハイフンで始まるファイルを編集するには、ファイルリストの前に "--" を付けてください。

- 編集するファイルは標準入力から読み込まれます。コマンドは標準エラー出力から読み込まれ、標準エラー出力は tty である必要があります。

-t {タグ} 編集するファイルと初期カーソル位置は、「タグ」によって決まります。タグは、goto ラベルのようなものです。{タグ} はタグファイルで検索され、関連付けられたファイルが現在のファイルになり、関連付けられたコマンドが実行されます。通常、これは C プログラムで使用され、{タグ} は関数名になる可能性があります。その結果、その関数を含むファイルが現在のファイルになり、カーソルはその関数の開始位置に配置されます。":help tag-commands" を参照してください。

-q [エラーファイル]

QuickFix モードで起動します。ファイル [エラーファイル] が読み込まれ、最初のエラーが表示されます。[エラーファイル] が指定されていない場合、ファイル名は 'errorfile' オプションから取得されます (デフォルトは、Amiga の場合は "AztecC.Err"、その他のシステムでは "errors.err" です)。":cn" コマンドを使用して、他のエラーに移動できます。":help quickfix" を参照してください。

Vim は、コマンド名によって動作が異なります (実行可能ファイルは同じファイルである場合があります)。

vim 通常の方法で、すべてがデフォルトです。

ex Ex モードで起動します。":vi" コマンドでノーマルモードに移動します。"-e" 引数でも実行できます。

view      読み取り専用モードで開始します。ファイルの書き込みから保護されます。また、`-R` 引数を使用しても実行できます。

gvim gview

GUIバージョンです。新しいウィンドウを開始します。また、-g 引数を使用しても実行できます。

evim eview

GUIバージョンの簡易モードです。新しいウィンドウを開始します。また、-y 引数を使用しても実行できます。

rvim rview rgvim rgview

上記と同様ですが、制限付きです。シェルコマンドの開始やVimのサスペンドはできません。また、-Z 引数を使用しても実行できます。

オプション

オプションは、ファイル名の前または後、任意の順序で指定できます。引数を持たないオプションは、単一のハイフンの後にまとめて指定できます。

+[num]      最初のファイルで、カーソルを `num` 行に配置します。`num` が指定されていない場合、カーソルは最終行に配置されます。

+/{pat}     最初のファイルで、カーソルを `pat` の最初の出現箇所がある行に配置します。使用可能な検索パターンについては、`:help search-pattern` を参照してください。

+{command}

-c {command}
最初のファイルが読み込まれた後に、`{command}` を実行します。`{command}` は Ex コマンドとして解釈されます。`{command}` にスペースが含まれている場合は、二重引用符で囲む必要があります(これは使用するシェルによって異なります)。例:`vim "+set si" main.c`
注:最大 10 個の `+` または `-c` コマンドを使用できます。

-A          Vim がアラビア語サポートでコンパイルされ、右から左に記述されたファイルを編集し、アラビア語キーボードマッピングを使用する場合、このオプションは Vim をアラビア語モードで開始します。つまり、`'arabic'` が設定されます。そうでない場合、エラーメッセージが表示され、Vim は終了します。

-b          バイナリモードです。いくつかのオプションが設定され、これによりバイナリファイルまたは実行可能ファイルを編集できるようになります。

-C          互換性。`'compatible'` オプションを設定します。これにより、`.vimrc` ファイルが存在する場合でも、Vim は Vi と同様に動作します。

-d          diff モードで開始します。2 つから 8 までのファイル名の引数が必要です。Vim はすべてのファイルを開き、それらの差分を表示します。`vimdiff(1)` と同様に動作します。

-d {device}, -dev {device}
`{device}` をターミナルとして使用するために開きます。Amiga でのみ使用できます。例:`"-d con:20/30/600/150"`。

-D          デバッグ。スクリプトから最初のコマンドを実行するときに、デバッグモードに入ります。

-e          Vim を Ex モードで開始します。これは、`ex` 実行可能ファイルが呼び出されたときと同じです。

-E          Vim を拡張 Ex モードで開始します。これは、`exim` 実行可能ファイルが呼び出されたときと同じです。

-f          GUI バージョンの場合、Vim はフォークしてシェルから切り離されません。Amiga では、Vim は新しいウィンドウを開くために再起動されません。このオプションは、Vim が編集セッションの完了を待つプログラムによって実行された場合に使用する必要があります(例:メール)。Amiga では、`:sh` および `:!` コマンドは機能しません。

-F          Vim が FKMAP サポートでコンパイルされ、右から左に記述されたファイルを編集し、ファルシ(ペルシャ語)キーボードマッピングを使用する場合、このオプションは Vim をファルシモードで開始します。つまり、`'fkmap'` と `'rightleft'` が設定されます。そうでない場合、エラーメッセージが表示され、Vim は終了します。
注:ファルシサポートは、パッチ 8.1.0932 で削除されました。

-g VimがGUIサポート付きでコンパイルされている場合、このオプションはGUIを有効にします。GUIサポートがコンパイルされていない場合、エラーメッセージが表示され、Vimは終了します。

-H VimがRIGHTLEFTサポート付きでコンパイルされ、右から左へのファイルやヘブライ語キーボードマッピングの編集をサポートしている場合、このオプションはVimをヘブライモードで起動します。つまり、'hkmap'と'rightleft'が設定されます。そうでない場合は、エラーメッセージが表示され、Vimは終了します。

-i {viminfo}

Viminfoファイルを読むか書き込むときに、デフォルトの"~/.viminfo"の代わりに、使用するファイル名を指定します。また、"NONE"という名前を指定することで、.viminfoファイルの使用をスキップすることもできます。

-l Lispモード。'lisp'オプションと'showmatch'オプションを有効にします。

-L -rと同じ。

-m ファイルの変更は無効になります。'write'オプションをリセットします。バッファは変更できますが、ファイルを書き込むことはできません。

-M 変更は許可されていません。'modifiable'オプションと'write'オプションが解除されるため、変更はできず、ファイルは書き込むことができません。ただし、これらのオプションを設定して変更を有効にすることができます。

-n スワップファイルは使用されません。クラッシュ後の回復は不可能です。非常に遅いメディア(フロッピーディスクなど)でファイルを編集する場合に便利です。":set uc=0"を使用して無効にすることも、":set uc=200"を使用して再度有効にすることもできます。

-N ノーコンパチブルモード。'compatible'オプションをリセットします。これにより、Vimはより優れた動作をしますが、.vimrcファイルが存在しない場合でも、Viとの互換性は低くなります。

-nb NetBeans用のエディタサーバーになります。詳細はドキュメントを参照してください。

-o[N] N個のウィンドウを重ねて開きます。Nが省略された場合、ファイルごとに1つのウィンドウが開きます。

-O[N] N個のウィンドウを並べて開きます。Nが省略された場合、ファイルごとに1つのウィンドウが開きます。

-p[N] N個のタブページを開きます。Nが省略された場合、ファイルごとに1つのタブページが開きます。

-P {parent-title}
Win32 GUIのみ:親アプリケーションのタイトルを指定します。可能な場合は、Vimは親アプリケーション内のMDIウィンドウで実行されます。{parent-title}は、親アプリケーションのウィンドウタイトルに表示される必要があります。十分に具体的なものにしてください。ただし、実装はまだ原始的です。すべてのアプリケーションで動作するわけではなく、メニューも動作しません。

-r スワップファイルを一覧表示し、それらを使用して回復する方法に関する情報を提供します。

-r {file} 回復モード。スワップファイルを使用して、クラッシュした編集セッションを回復します。スワップファイルは、テキストファイルと同じ名前で、".swp"が末尾に付いたファイルです。":help recovery"を参照してください。

-R 読み取り専用モード。'readonly'オプションが設定されます。バッファは変更できますが、誤ってファイルを上書きすることはできません。ファイルを上書きする場合は、Exコマンドに感嘆符を追加します(例::w!)。-Rオプションは、-nオプション(上記を参照)も意味します。'readonly'オプションは、":set noro"を使用してリセットできます。":help 'readonly'"を参照してください。

-s          サイレントモード。 "Ex"として起動された場合、または "-e" オプションが "-s" オプションの前に指定された場合にのみ有効。

-s {scriptin}
スクリプトファイル {scriptin} を読み込みます。ファイル内の文字は、実際にキーボードで入力したかのように解釈されます。 ":source! {scriptin}" コマンドを使用しても同様の結果が得られます。ファイルの終わりに達する前にエディターが終了した場合、それ以降の文字はキーボードから読み込まれます。

-S {file}   {file} は、最初のファイルが読み込まれた後にソースされます。これは、"-c "source {file}" " と同等です。 {file} は '-' で始めることはできません。 {file} が省略された場合、"Session.vim" が使用されます(ただし、これは "-S" が最後の引数である場合にのみ機能します)。

-T {terminal}
Vimに、使用しているターミナルの名前を伝えます。自動検出が機能しない場合にのみ必要です。 Vimに認識されているターミナル(組み込み)であるか、termcapまたはterminfoファイルで定義されているターミナルである必要があります。

-u {vimrc}   ファイル {vimrc} 内のコマンドを使用して初期化を行います。他のすべての初期化はスキップされます。これは、特殊な種類のファイルを編集するために使用します。 ":help initialization" を参照してください(Vim内)。初期化をすべてスキップするには、"NONE" を指定します。

-U {gvimrc}   ファイル {gvimrc} 内のコマンドを使用してGUI初期化を行います。他のすべてのGUI初期化はスキップされます。GUI初期化をすべてスキップするには、"NONE" を指定します。 ":help gui-init" を参照してください(Vim内)。

-v          VimをViモードで起動します。これは、実行ファイルが "vi" として呼び出された場合と同じです。これは、実行ファイルが "ex" として呼び出された場合にのみ有効です。

-V[N]       詳細モード。どのファイルがソースされ、どのファイルが読み書きされたかについてのメッセージを表示します。オプションの数字 N は、'verbose' の値です。デフォルトは 10 です。

-V[N]{filename}
-V と同様ですが、'verbosefile' を {filename} に設定します。その結果、メッセージは表示されず、代わりにファイル {filename} に書き込まれます。 {filename} は数字で始めることはできません。

-w{number}  'window' オプションを {number} に設定します。

-w {scriptout}
キーボードで入力したすべての文字を、Vim が終了するまでファイル {scriptout} に記録します。これは、"vim -s" または ":source!" で使用するスクリプトファイルを作成する場合に役立ちます。 {scriptout} ファイルが存在する場合、文字は追記されます。

-W {scriptout}
-w と同様ですが、既存のファイルは上書きされます。

-x          Vim が暗号化サポート付きでコンパイルされている場合、ファイルを書き込むときに暗号化を使用します。暗号化キーの入力を求められます。

-X          Xサーバーに接続しません。ターミナルでの起動時間を短縮しますが、ウィンドウタイトルとクリップボードは使用できません。

-Y          Waylandコンポジターに接続しません。

-y          Vimをイージーモードで起動します。これは、実行ファイルが "evim" または "eview" として呼び出された場合と同じです。これにより、Vimはクリックして入力するエディターのように動作します。

-Z          制限モード。実行ファイルが "r" で始まる場合と同じように動作します。

--          オプションの終了を示します。この後の引数はファイル名として扱われます。
'-' で始まるファイル名を編集する場合に使用できます。

--clean     個人の設定(vimrc、プラグインなど)を使用しません。問題がクリーンな Vim 設定で再現するかどうかを確認するのに役立ちます。

--cmd {command}
"-c" と同様ですが、コマンドは vimrc ファイルを処理する直前に実行されます。
最大 10 個のコマンドを、"-c" コマンドとは別に指定できます。

--echo-wid  GTK GUI のみ:ウィンドウ ID を stdout に出力します。

--gui-dialog-file {name}
GUI を使用している場合、ダイアログを表示する代わりに、ダイアログのタイトルとメッセージをファイル {name} に書き込みます。ファイルは作成または追記されます。テストでのみ役立ち、GUI で確認できないダイアログでテストが停止するのを防ぎます。GUI がない場合は、引数は無視されます。

--help, -h, -?
コマンドライン引数とオプションに関する簡単なヘルプを表示します。その後、Vim は終了します。

--literal   ファイル名引数を文字通りに解釈し、ワイルドカードを展開しません。これは Unix では、シェルがワイルドカードを展開するため、効果がありません。

--log {filename}
Vim が eval とチャネル機能でコンパイルされている場合、ログを開始し、エントリを {filename} に書き込みます。これは、起動時に ch_logfile({filename}, 'ao') を呼び出すのと同様に機能します。

--nofork    フォアグラウンド。GUI バージョンの場合、Vim はフォークしてシェルから分離しません。

--noplugin  プラグロードをスキップします。-u NONE と同じです。

--not-a-term
Vim に、入力および/または出力がターミナルに接続されていないことをユーザーが認識していることを伝えます。これにより、警告と 2 秒間の遅延が回避されます。

--remote    Vim サーバーに接続し、残りの引数で指定されたファイルを編集します。サーバーが見つからない場合は警告が表示され、ファイルは現在の Vim で編集されます。

--remote-expr {expr}
Vim サーバーに接続し、{expr} を評価して、結果を stdout に出力します。

--remote-send {keys}
Vim サーバーに接続し、{keys} を送信します。

--remote-silent
--remote と同じですが、サーバーが見つからない場合は警告は表示されません。

--remote-wait
--remote と同じですが、Vim はファイルが編集されるまで終了しません。

--remote-wait-silent
--remote-wait と同じですが、サーバーが見つからない場合は警告は表示されません。

--serverlist
検出できるすべての Vim サーバーの名前をリストします。

--servername {name}
{name} をサーバー名として使用します。現在の Vim で使用されますが、--remote 引数と一緒に使用すると、接続先のサーバーの名前になります。ソケットサーバーバックエンドを使用している場合、名前が "/"、"./"、または "../" で始まる場合、絶対パス、相対パス、または相対パスとして解釈され、ソケットへのパスになります。

--clientserver {backend}
クライアントサーバー機能のバックエンドとして {backend} を使用します。どちらかは "socket" または "x11" です。ソケットサーバー機能と X11 機能の両方がコンパイルされている場合にのみ使用できます。

--socketid {id}
GTK GUI のみ: GtkPlug メカニズムを使用して、gVim を別のウィンドウで実行します。

--startuptime {file}

起動時に、タイミングメッセージをファイル {fname} に書き込みます。

--ttyfail

stdin または stdout がターミナル (tty) でない場合、すぐに終了します。

--version

バージョン情報を表示して終了します。

--windowid {id}

Win32 GUI のみ: gVim が、指定されたウィンドウ {id} を親ウィンドウとして使用するようにします。

オンラインヘルプ

Vim で ":help" と入力して開始します。":help subject" と入力して、特定のトピックに関するヘルプを取得します。 例: ":help ZZ" を入力して、"ZZ" コマンドのヘルプを取得します。"" と CTRL-D を使用して、トピックを補完します (":help cmdline-completion")。タグを使用して、ある場所から別の場所へ移動できます (ハイパーテキストリンクのようなもの。":help" を参照)。すべてのドキュメントファイルは、この方法で表示できます。例: ":help syntax.txt"。

ファイル

/usr/local/share/vim/vim??/doc/*.txt

Vim のドキュメントファイル。":help doc-file-list" を使用して、完全なリストを取得します。 vim?? はバージョン番号の略で、たとえば vim91 は Vim 9.1 を意味します。

/usr/local/share/vim/vim??/doc/tags

ドキュメントファイル内の情報を検索するために使用されるタグファイル。

/usr/local/share/vim/vim??/syntax/syntax.vim

システム全体の構文初期化。

/usr/local/share/vim/vim??/syntax/*.vim

さまざまな言語の構文ファイル。

/usr/local/share/vim/vimrc

システム全体の Vim 初期化。

~/.vimrc, ~/.vim/vimrc, $XDG_CONFIG_HOME/vim/vimrc

個人の Vim 初期化 (最初に見つかったものが使用されます)。

/usr/local/share/vim/gvimrc

システム全体の gvim 初期化。

~/.gvimrc, ~/.vim/gvimrc, $XDG_CONFIG_HOME/vim/gvimrc

個人の gVim 初期化 (最初に見つかったものが使用されます)。

/usr/local/share/vim/vim??/optwin.vim

":options" コマンドで使用されるスクリプト。オプションを表示および設定するための便利な方法です。

/usr/local/share/vim/vim??/menu.vim

gVim のシステム全体のメニュー初期化。

/usr/local/share/vim/vim??/bugreport.vim

バグレポートを生成するためのスクリプト。":help bugs" を参照してください。

/usr/local/share/vim/vim??/filetype.vim

ファイル名に基づいてファイルの種類を検出するためのスクリプト。":help 'filetype'" を参照してください。

/usr/local/share/vim/vim??/scripts.vim

ファイルの内容に基づいてファイルの種類を検出するためのスクリプト。":help 'filetype'" を参照してください。

/usr/local/share/vim/vim??/print/*.ps

PostScript 印刷で使用されるファイル。

最新の情報については、VIM のホームページをご覧ください。

関連項目

vimtutor(1)

著者

Vim のほとんどは Bram Moolenaar によって作成され、他の多くの人々の助けがありました。":help credits" を参照してください。 Vim は、Tim Thompson、Tony Andrews、G.R. (Fred) Walter によって作成された Stevie に基づいています。ただし、元のコードはほとんど残っていません。

バグ

おそらく。既知の問題のリストについては、":help todo" を参照してください。

いくつかの点でバグと見なされるものが、実際には Vi の動作を忠実に再現した結果である場合があります。また、他のものが「Vi と異なるためバグである」と考える場合は、vi_diff.txt ファイルをよく調べてください (または、Vim 内で ":help vi_diff.txt" と入力します)。また、'compatible' および 'cpoptions' オプションも確認してください。