行き詰まって逃げられない。それは言う:
"type :quit<Enter> to quit VIM"
しかし、それをタイプすると、オブジェクトの本体に表示されます。
:quit
から[ENTER]
キーを押してください。
git commit
将来的にVIMにあなたを送る: git config --global core.editor="nano"
行き詰まって逃げられない。それは言う:
"type :quit<Enter> to quit VIM"
しかし、それをタイプすると、オブジェクトの本体に表示されます。
:quit
から[ENTER]
キーを押してください。
git commit
将来的にVIMにあなたを送る: git config --global core.editor="nano"
回答:
ヒットEsc「ノーマルモード」を入力するキーを押します。次に、:
「コマンドラインモード」と入力して入力できます。コロン(:
)が画面の下部に表示され、次のいずれかのコマンドを入力できます。コマンドを実行するには、Enterキーを押します。
:q
終了する(の略:quit
):q!
保存せずに終了する(の略:quit!
):wq
書いて終了する:wq!
ファイルに読み取り権限しかない場合でも書き込みと終了を行う(ファイルに書き込み権限がない場合:強制書き込み):x
書き込みと終了(に似て:wq
いますが、変更がある場合のみ書き込みます):exit
書き込みと終了(と同じ:x
):qa
すべてを終了する(の略:quitall
):cq
保存せずに終了し、Vimにゼロ以外のエラーを返す(つまり、エラーで終了する)入力ZZ
して保存して終了する(と同じ:x
)かZQ
、単に終了する(と同じ:q!
)ことで、「通常モード」から直接Vimを終了することもできます。(ここでは大文字と小文字が区別されることに注意してください。同じ意味ではZZ
ありzz
ません。)
Vimには、:help
コマンドでアクセスできる広範なヘルプがあり、すべての質問に対する回答と初心者向けのチュートリアルを見つけることができます。
:x
== ZZ
しかし:x
!= :wq
。:x
ファイルが変更された場合にファイルを:wq
書き込み、常にファイルを書き込みます(つまり、を使用する場合inotify
)。
:w ! sudo tee %
写真は、1000のUnixコマンドとオプションに相当します。
私はこれを毎学期の生徒に教えます。彼らはその後viを理解しているようです。
viは、3つの状態のみを持つ有限状態機械です。
起動すると、viはCOMMANDモードになり、短い、少数の文字コマンドを盲目的に入力できます。あなたは自分が何をしているか知っています。これはアマチュア向けではありません。
実際にテキストを編集したい場合は、1文字のコマンドを使用してINSERTモードに移動する必要があります。
さて、質問に答えます:終了します。
EXモードからviを終了できます。
w
x
ファイル名パラメーターを受け入れます。viをファイル名で開始した場合は、ここで再度指定する必要はありません。
最後に、最も重要なのは、どのようにしてEXモードに到達できるかです。
EXモードは、画面の一番下の行に入力を確認できる長いコマンド用です。コマンドモードから、コロンを押す:
と、コロンが一番下の行に表示され、上記のコマンドを入力できます。
挿入モードから、ESC、つまりエスケープボタンを押してコマンドモードに切り替え、次に:モードに移動する必要があります。
不明な場合は、ESCキーを押してください。コマンドモードになります。
したがって、堅牢な方法はESC-:-x-Enterで、ファイルを保存して終了します。
w
は、ExからCommandモードに変更されませんが、変更されますEsc
。何が悪いのですか?
:w
。それからそれは完全に理にかなっています。ところで、ディスクからリロードする(つまり、変更を元に戻すがファイルを閉じない)コマンドはありますか?もしそうなら、それw
は図の隣にあるかもしれません。
:e
(または可能性が高い:e!
ことはせずに保存されていない変更についての警告が表示されますので、!
)
コマンドを入力する前に、Escキーを押してください。入力後、を押しReturnて確認します。
Esc現在のコマンドを終了し、Vimを通常モードに切り替えます。今、あなたは押すと:、:
で表示される下の画面の。これは、実際にコマンドを入力していて、ファイルを編集していないことを確認します。
ほとんどのコマンドには省略形があり、オプションの部分は大括弧で囲まれていますc[ommand]
。
'*'でマークされたコマンドはVimのみです(Viには実装されていません)。
安全な終了(保存されていない変更があると失敗します):
:q[uit]
現在のウィンドウを終了します。これが最後のウィンドウの場合は、Vimを終了します。現在のバッファに変更が加えられている場合、これは失敗します。:qa[ll]
*変更されたバッファがない限り、すべてのウィンドウとVimを終了します。プロンプト-終了(保存されていない変更がある場合はプロンプトを出します)
: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の違いも反映されています。
あなたがVimの中に保存せずに終了したい場合や Vimはゼロ以外の終了コードを返してきた、あなたは使用することができます:cq
。
のために小指シフトに煩わされることができないので、私はこれをいつも使用し!
ます。私はしばしばファイルに保存する必要のないものをVimにパイプします。チェックインを中止するためにゼロ以外の値で終了する必要のある奇妙なSVNラッパーも動作しています。
:q!
空ではないメッセージをチェックし、ゼロ以外の終了コードをチェックしないため、git commitを中止しても問題はありません。
これは、Vimを終了するという最悪の場合のシナリオであり、単にVimを終了するだけで、何をしたかがわからず、開いたファイルがどうなるかを気にしません。
Ctrl-cEnterEntervi
EnterCtrl-\Ctrl-n:qa!
Enter
ほとんどの場合、これで解決します。
このようなものが必要ないくつかの興味深いケース:
i
Ctrl-ovg
(挿入モード、次にビジュアルモード、次にオペレーター保留モードに入ります)
Qappend
Enter
i
Ctrl-ogQ
Ctrl-r=
Ctrl-k (このケースのポージに感謝)
:set insertmode
(これはCtrl-\Ctrl-n通常モードに戻る場合です)
編集:上記のケースのため、この回答は修正されました。それは従来:
EscEscEsc:qa!
Enter
ただし、Exモードに入った場合は機能しません。その場合、次のことを行う必要があります。
vi
Enter:qa!
Enter
したがって、「自分が何をしたのか知りたくなく、何も保存したくないので、今すぐ出したい」という完全なコマンドです。だろう
vi
EnterEscEscEsc:qa!
入る
:q
か:wq
i<Ctrl-O>gQ<Ctrl-R>=<Ctrl-K>
ますか?
イージーモードで(-y
オプションの使用中に)Vimを終了する必要がある場合は、Ctrl+ Lを押して通常のVimモードに入ると、通常の終了オプションが機能します。
Ctrl+O
して、一時的にINSERTモードを終了してからに入ることができます:q
。この組み合わせのトリックは、通常のvimでも単一のコマンドを実行してINSERTモードに戻るのに役立ちます。
Vimには、入力モード、コマンドモード、Exモードの3つの操作モードがあります。
入力モード - 入力したすべての内容、すべてのキーストロークが画面に表示されます。
コマンドモードまたはエスケープモード -このモードで入力するすべてのものがコマンドとして解釈されます。
元モード -これは別のエディタです。ラインエディターです。行ごとに、または行の範囲に基づいて機能します。このモードで:は、画面の下部にが表示されます。これは元エディタです。
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
)を押します-保存せずに終了します。
WindowsにGitクライアントをインストールしてVimを入手しました。:q
Vimを終了しません。:exit
しかしした...
vim -version
でした(7.3)。
Git Bash
Windows上でVim
時々ESC
働いていません。使用CTRL
+ [
代わりに。
^[
と同じですESC
。Windowsによって複雑になるのは興味深いことです。そして面白い。
q
番号付きのコマンドは、その位置で指定された分割を閉じます。
:q<split position>
または:<split position>q
その位置で分割を閉じます。
Vimウィンドウのレイアウトが次のようになっているとします。
-------------------------------------------------
| | | |
-------------------------------------------------
| | | |
| | | |
| Split 1 | Split 2 | Split 3 |
| | | |
-------------------------------------------------
q1
コマンドを実行すると、最初の分割が閉じられます。q2
2番目の分割を閉じ、逆も同様です。
quitコマンドでの分割位置の順序は重要ではありません。:2q
または:q2
2番目の分割を閉じます。
コマンドに渡した分割位置が現在の分割数より大きい場合、最後の分割が閉じられます。
たとえばq100
、上記のウィンドウ設定で3つの分割しかない場合に実行すると、最後の分割(分割3)が閉じます。