web-dev-qa-db-ja.com

どうやってVimエディタを終了しますか?

私は立ち往生していると逃げることはできません。それは言います:

"type :quit<Enter> to quit VIM"

しかし、それを単にオブジェクトの本体に表示すると入力すると。

3294
jclancy

ヒット Esc 「通常モード」に入るためのキー。それから:をタイプして「コマンドラインモード」に入ることができます。コロン(:)が画面の下部に表示されます。次のいずれかのコマンドを入力できます。コマンドを実行するには、 Enter キー。

  • 終了する:q:quitの略)
  • 保存せずに終了する場合は:q!:quit!の略)
  • 書き込みと終了を行う:wq
  • ファイルに読み取り権限しかない場合でも書き込みと終了を行う:wq!(ファイルに書き込み権限がない場合は強制書き込み)
  • 書き込みと終了を行う:x:wqに似ていますが、変更がある場合にのみ書き込みます)
  • 書き込みおよび終了する:exit:xと同じ)
  • すべてを終了する場合は:qa:quitallの略)
  • :cqを保存せずに終了し、Vimに0以外のエラーを返すようにさせる(すなわちエラーで終了する)

ZZを入力して保存して終了し(:xと同じ)またはZQを終了するだけで(:q!と同じ)、 "通常モード"から直接Vimを終了することもできます。 (ここで大文字と小文字が区別されることに注意してください。ZZzzは同じ意味ではありません。)

Vimは広範囲にわたる助けを持っています - あなたが:helpコマンドでアクセスできる - あなたがすべてのあなたの質問に対する答えと初心者のためのチュートリアルを見つけることができるところ。

4468
dirvine

コマンドを入力する前に、を押してください。 Esc キー入力したら、 Return 確認するために。

Esc 現在のコマンドを終了し、Vimを 通常モード に切り替えます。あなたが押すなら今 ::は画面のbottomに表示されます。これにより、実際にコマンドを入力してファイルを編集していないことを確認できます。

ほとんどのコマンドには省略形があり、オプションの部分は括弧で囲まれています:c[ommand]

'*'マークの付いたコマンドはVimのみです(Viでは実装されていません)。

安全に終了します(未保存の変更があると失敗します):

  • :q[uit]現在のウィンドウを終了します ウィンドウ 。これが最後のウィンドウであればVimを終了します。 current buffer に変更が加えられると、これは失敗します。
  • :qa[ll] *変更されたバッファがなければ、すべてのウィンドウとVimを終了する。

プロンプト終了(保存されていない変更があるかどうかを確認する)

  • :conf[irm] q[uit] *終了しますが、変更されたバッファがあるときはPromptを与えます。
  • :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のwriteとquitのコマンドと引数を参照するわけではありません。実際、それらは Vimのドキュメント で参照されています。

Vimはヘルプを内蔵しています Esc:helpReturn それを開く。

この答えは、もともと@dirvineが作成し、他のSOユーザーが編集した other one からヒントを得たものです。私はVimのリファレンス、SOコメント、その他いくつかの情報源からより多くの情報を含めました。 ViとVimの違いも反映されています。

159
Nick Volynkin

写真は、1000個のUnixコマンドとオプションの価値があります。

Enter image description here

私はこれを学期ごとに私の生徒たちに引き寄せます、そして、彼らはその後viをつかむようです。

viは 有限状態機械 だけで3つの状態を持ちます。

起動すると、viはコマンドモードに入ります。このモードでは、短くて文字数の少ないコマンドブラインドを入力できます。あなたは自分がしていることを知っています。これはアマチュア向けではありません。

実際にテキストを編集したい場合は、1文字のコマンドでINSERTモードに入ります。

  • カーソル位置のINSERTに行きます。
  • I:行頭でINSERTモードに入ります
  • a:afterカーソルを追加
  • A:行末に追加する
  • o:open現在の行の下の新しい行
  • O:open現在の行の代わりに新しい行

さて、質問に答えて:終了します。

EXモードからviを終了することができます。

  • q:変更を加えていない場合、または事前にそれらを保存した場合
  • q !:修正を無視してquit
  • wq:保存して終了する
  • x:これはwqと等しい

wおよびxはファイル名パラメーターを受け入れます。あなたがファイル名でviを始めたならば、あなたは再びここでそれを与える必要はありません。

最後に、最も重要なこと:どのようにあなたはEXモードに到達することができますか?

EXモードは、画面の一番下の行に入力できる長いコマンド用です。 COMMANDモードから、コロン、:を押すと、一番下の行にコロンが表示され、ここに上記のコマンドを入力できます。

INSERTモードから、ESC、すなわちEscapeボタンを押してCOMMANDモードにしてから、EXモードに進む必要があります。

よくわからない場合は、Escキーを押すとコマンドモードになります。

そのため、堅牢な方法はESC - : - x-Enterでファイルを保存して終了します。

135
Gergely

Vimのを保存せずに終了したい場合は、Vimに0以外の終了コードを返させるには、:cqを使用します。

私はこれをずっと使っています、なぜなら私は!のための小指のシフトに悩まされることができないからです。私はよくファイルに保存する必要のないものをVimにパイプで送ります。また、チェックインを中止するためにゼロ以外の値で終了しなければならない奇妙なSVNラッパーも動作しています。

71
Sue Spence

これはVimを終了したいという最悪のシナリオのためのもので、あなたがしたことがわからなくても、開いたファイルに何が起こるのか気にする必要はありません。

Ctrl-cEnterEnterviEnterCtrl-\Ctrl-n:qa!Enter

これはほとんどの時間あなたを連れ出すべきです。

あなたがこのようなものを必要とするいくつかの興味深いケース:

  • iCtrl-ovg(挿入モードに入り、次にビジュアルモードに入り、次にオペレーター保留モードに入ります)

  • QappendEnter

  • iCtrl-ogQCtrl-r=Ctrl-k (この場合はporgesに感謝します)

  • :set insertmode(これは Ctrl-\Ctrl-n 通常モードに戻ります)


編集:この答えは上の場合が原因で修正されました。それは従来:

EscEscEsc:qa!Enter

ただし、Exモードに入っているとうまくいきません。その場合、あなたはする必要があります:

viEnter:qa!Enter

それで、「自分のしたことを知りたくないし、何も保存したくないので、今すぐ外に出したいだけ」という完全なコマンドです。だろう

viEnterEscEscEsc:qa!Enter

40
Heikki Naski

Vimをイージーモード-yオプションを使って)終了する必要がある場合は、を押すことで通常のVimモードに入ることができます。 Ctrl + L それから通常の終了オプションのどれでもうまくいくでしょう。

36
wsams

Vimは3つの動作モードを持っています:入力モード、コマンドモードとExモード。

入力モード - あなたがタイプしたすべてのもの、すべてのキーストロークがスクリーンにエコーされます。

コマンドモードまたはエスケープモード - このモードで入力したものはすべてコマンドとして解釈されます。

Exモード - これは別のエディタです。それはラインエディタです。 1行ごとに、または一定範囲の行に基づいて機能します。このモードでは、 : 画面の下部にが表示されます。これは元のエディタです。

Vimを終了するには、exモードかコマンドモードのどちらかにいる間に終了することができます。入力モードのときはVimを終了できません。

exモードから抜け出す

  1. コマンドモードになっていることを確認する必要があります。それをするためには、単に押す Esc キー。

  2. を押して元のモードに移動します。 : キー

  3. 終了するには、exモードで次のいずれかの組み合わせを使用します。

    :q - quit :q! - 保存せずに終了:wq - save&quitまたはwrite&quit :wq! - wqと同じですが、ファイルのパーミッションが読み取り専用の場合は強制的に書き込みます:x - write&quit :qa - quit all。複数のファイルが次のように開かれている場合に便利です。vim abc.txt xyz.txt

コマンドモードを終了

  1. エスケープキーを押します。あなたがコマンドモードにいるなら、あなたはおそらく既にこれをしています。

  2. プレス首都ZZ(shift zz) - 保存して終了

  3. 大文字のZQ(shift zq)を押します - 保存せずに終了します。

27
tovishalck

打った後 ESC (または cmd + C 私のコンピューターでは)あなたがヒットする必要があります : コマンドプロンプトが表示されます。それから、quitを入力します。

あなたの情報が保存されていないためにマシンがあなたに終了を許可しないことに気付くかもしれません。それでもやめたい場合は、次のように入力します。 ! 終了直後(つまり:quit!)。

25
deleteMe

vimを終了するのは実に驚くほど簡単です。

押す Escape、二度回転し、猫を蹴り、お茶を一杯作り、 4分のマイル を走り、エベレストを登り、 Kessel Run を12以下にする parsecs小林丸 を救い出しなさい 鉄の玉座 、達成しました 世界平和:qを押してくださいEnter

18
Caltor

WindowsにGitクライアントをインストールすることでVimを手に入れました。 :qは私のためにVimを終了しないでしょう。 :exitはしかし….

16

これに私の 2セント を加えたい。質問は ここ にされました。

Numberを指定したqコマンドは、その位置で与えられた分割を閉じます。

:q<split position>または:<split position>qはその位置で分割を閉じます。

あなたのVimウィンドウのレイアウトは次のようになっているとしましょう。

-------------------------------------------------
|               |               |               |
-------------------------------------------------
|               |               |               |
|               |               |               |
|    Split 1    |    Split 2    |     Split 3   |
|               |               |               |
-------------------------------------------------

q1コマンドを実行すると、最初の分割が閉じられます。 q2は2番目の分割を閉じます。

Quitコマンドの分割位置の順序は関係ありません。 :2qまたは:q2は2番目の分割を閉じます。

コマンドに渡す分割位置が現在の分割数より大きい場合は、最後の分割を単純に閉じます。

たとえば、上記のウィンドウ設定で3つの分割しかないところでq100を実行すると、最後の分割(分割3)が閉じます。

5
Subash

これがVimを終了する方法です。 CtrlキーとZキーを押してからXキーとCキーを押します。

Ctrl -> +Z -> +X -> +C
5
Alimov Shohrukh

押す Esc 挿入モードを終了し、:wqを実行して保存して終了するか、:qを実行して正常に終了します。 :)

1
Connie