私は立ち往生していて、逃げることができません。それは言います:
"type :quit<Enter> to quit VIM"
しかし、それを入力すると、オブジェクト本体に表示されるだけです。
キーEscを押して「通常モード」に入ります。:
次に、入力して「コマンドラインモード」に入ることができます。:
画面の下部にコロン ( ) が表示され、次のいずれかのコマンドを入力できます。コマンドを実行するには、Enterキーを押します。
:q
やめる(の略:quit
):q!
保存せずに終了する (の略:quit!
):wq
書いてやめる:wq!
ファイルに読み取り権限しかない場合でも、書き込みと終了 (ファイルに書き込み権限がない場合: 強制書き込み):x
書いて終了する (に似て:wq
いますが、変更がある場合にのみ書き込みます):exit
書き込みと終了 (と同じ:x
):qa
すべて終了する (の略:quitall
):cq
保存せずに終了し、Vim にゼロ以外のエラーを返す (つまり、エラーで終了する)ZZ
保存して終了する ( と同じ:x
) かZQ
、単に終了する ( と同じ) と入力して、「通常モード」から直接 Vim を終了することもできます:q!
。(ここでは大文字と小文字が重要であることに注意してください。同じ意味ではZZ
ありzz
ません。)
Vim には広範なヘルプがあり、:help
コマンドでアクセスできます。ここでは、すべての質問に対する回答と初心者向けのチュートリアルを見つけることができます。
画像は、1,000 の Unix コマンドとオプションの価値があります。
私は学期ごとに生徒たちにこれを描いています。
Vi は3 つの状態しか持たない有限ステート マシンです。
起動すると、vi は COMMAND モードに入ります。このモードでは、短い数文字のコマンドをやみくもに入力できます。あなたは自分が何をしているのか知っています。これはアマチュア向けではありません。
実際にテキストを編集したい場合は、1 文字のコマンドで INSERT モードに移行する必要があります。
さて、質問に答えます:終了します。
EX モードから vi を終了できます。
w
ファイル名パラメーターをx
受け入れます。ファイル名を指定して vi を起動した場合は、ここでファイル名を再度指定する必要はありません。
最後に、最も重要な: どうすれば EX モードに到達できますか?
EX モードは、画面の一番下の行に入力されている長いコマンド用です。COMMAND モードからコロンを押す:
と、一番下の行にコロンが表示され、上記のコマンドを入力できます。
INSERT モードから、ESC、つまり Escape ボタンを押して、COMMAND モードに移行し、次に EX モードに移行する必要があります。
よくわからない場合は、ESC を押すとコマンド モードになります。
堅牢な方法は、ファイルを保存して終了する ESC-:-x-Enter です。
コマンドを入力する前に、Escキーを押します。入力したら、 を押しReturnて確定します。
Esc現在のコマンドを終了し、Vim を通常モードに切り替えます。ここで を押す:と、画面の下部:
にが表示されます。これにより、実際にコマンドを入力していて、ファイルを編集していないことが確認されます。
ほとんどのコマンドには省略形があり、省略可能な部分は括弧で囲まれています: c[ommand]
.
「*」でマークされたコマンドは Vim 専用です (Vi には実装されていません)。
安全な終了 (変更が保存されていない場合は失敗します):
:q[uit]
現在のウィンドウを 終了します。これが最後のウィンドウである場合は、Vim を終了します。現在のbufferに変更が加えられた場合、これは失敗します。:qa[ll]
* 変更されたバッファがない限り、すべてのウィンドウと Vim を終了します。Prompt-quit (未保存の変更がある場合はプロンプトを表示)
:conf[irm] q[uit]
* 終了しますが、変更されたバッファがある場合はプロンプトを表示します。:conf[irm] xa[ll]
* 変更されたすべてのバッファを書き込み、Vim を終了します。一部のバッファに書き込めない場合にプロンプトを表示します。変更を書き込み (保存) して終了します。
:wq
現在のファイルを (変更されていなくても) 書き込み、終了します。ファイルが読み取り専用の場合、またはバッファに名前がない場合、書き込みは失敗します。:wqa[ll]
* すべてのウィンドウ。:wq!
同じですが、読み取り専用ファイルも書き込みます。:wqa[ll]!
* すべてのウィンドウ。:x[it]
、ZZ
(詳細付き)。ファイルが変更された場合にのみファイルを書き込み、終了:xa[ll]
します。 * すべてのウィンドウで。変更を破棄して終了:
:q[uit]!
ZQ
* 可視バッファに変更がある場合も、書き込みせずに終了します。変更された隠しバッファがある場合は終了しません。:qa[ll]!
*, :quita[ll][!]
* Vim を終了すると、バッファーへのすべての変更 (非表示を含む) が失われます。を押しReturnてコマンドを確定します。
この回答は、すべての Vim の書き込みおよび終了コマンドと引数を参照しているわけではありません。実際、それらはVim のドキュメントで参照されています。
Vim には広範な組み込みヘルプがあり、入力Esc:help
Returnして開きます。
この回答は、もともと @dirvine によって作成され、他の SO ユーザーによって編集された他のものに触発されました。Vim リファレンス、SO コメント、およびその他の情報源からの詳細情報を含めました。Vi と Vim の違いも反映されます。
If you want to quit without saving in Vim and have Vim return a non-zero exit code, you can use :cq
.
I use this all the time because I can't be bothered to pinky shift for !
. I often pipe things to Vim which don't need to be saved in a file. We also have an odd SVN wrapper at work which must be exited with a non-zero value in order to abort a checkin.
これは、Vim を終了したい場合、何をしたか分からず、開いたファイルがどうなろうと気にしない場合に Vim を終了するという最悪のシナリオに対する、究極の、ナンセンスな、筋金入りの終了コマンドです。
Ctrl- cEnterCtrl-\Ctrl-nEnter:qa!
Enter
これでたいていの場合は脱出できます。多くの。
Esc単純に、数回叩いてから:qa!
. ああ、あなたはどのように間違っているでしょう。
打撃Escだけでは不十分な興味深いケースをご覧ください。
i
Ctrl- ovg
(挿入モード、ビジュアル モード、オペレーター保留モードに入ります)
Qappend
Enter
i
Ctrl- ogQ
Ctrl- r=
Ctrl- k(この件についてポージスに感謝)
i
Ctrl- ogQ
Ctrl-r=inputdialog('foo','bar')
Enter
:set insertmode
(これはCtrl-\Ctrl-n通常モードに戻る場合です)
Vim には、入力モード、コマンド モード、Ex モードの 3 つの操作モードがあります。
入力モード- すべての入力内容、すべてのキーストロークが画面に反映されます。
コマンド モードまたはエスケープ モード- このモードで入力したものはすべてコマンドとして解釈されます。
Ex モード- これは別のエディターです。ラインエディタです。行ごと、または行の範囲に基づいて機能します。このモードで:は、画面の下部に a が表示されます。元編集者です。
Vim を終了するには、ex モードまたはコマンド モードで終了します。入力モードでは Vim を終了できません。
exモードからの脱出
コマンドモードになっていることを確認する必要があります。これを行うには、Escキーを押すだけです。
:キーを押して ex モードに移動します。
終了するには、ex モードで次の組み合わせのいずれかを使用します。
:q
- やめる
:q!
- 保存せずに
やめる:wq
- 保存してやめる、または書き込んでやめる
:wq!
- wq と同じだが、ファイルのパーミッションが読み取り専用の場合は書き込みを強制する
:x
- 書き込んでやめる
:qa
- すべてやめる。次のように複数のファイルが開かれている場合に便利です。vim abc.txt xyz.txt
コマンドモードの終了
エスケープキーを押します。コマンドモードにいる場合は、すでにこれを行っている可能性があります。
大文字の ZZ ( shift zz
) を押します - 保存して終了します
大文字の ZQ ( shift zq
) を押します - 保存せずに終了します。
ESC(または私のコンピューターではcmd+ )を押した後、コマンドプロンプトが表示されるようにする必要があります。次に、入力できます。C:quit
情報が保存されていないため、マシンが終了できない場合があります。とにかく終了したい場合は!、quit の直後に入力します (つまり:quit!
)。