コマンドラインからvimを閉じる方法は?


46

これは一般的なLinuxの質問ですが、w / eです。したがって、コマンドプロンプトにvimなどのプログラムを入力すると、ファイル内のすべてのテキストが表示され、編集などができます。しかし、ファイルを閉じたり保存したり、強制終了せずにコマンドプロンプトに戻る方法がわかりませんプロセス。どんな助けも大歓迎です。




回答:


72

vimには3つの異なるモードがあります。

  • 挿入-通常どおり入力と編集が可能
  • ビジュアル-コピー/貼り付けなどの選択に使用
  • 通常-コマンドに使用

通常モードに戻るには、いつでもを押すことができますesc

通常モードになったら、を押し:てコマンドを開始します(左下に表示されます)。次のコマンドは、vimの終了に関連しています。

  • :q -変更が行われなかった場合は終了
  • :q! -行った変更をすべて終了して破棄する
  • :wq -変更を保存(保存)して終了
  • :x-と同様:wq、変更が行われた場合にのみファイルを書き込み、終了します

4
そして、:xのショートカットです:wq
ウォードMuylaert

2
あなたはただ、「ノーマル」モードを忘れてしまいました。ワオ。実際、mode()vim の関数は18の異なる値を返すことができます。
ブノワ

Benoitがほのめかしたように、この答えは「コマンドモード」という用語を紛らわしく使用して、vimのドキュメントで「通常モード」と呼ぶものを指します。vimドキュメントでは、コマンドモード:は、通常モードでを押して入力したものであると見なします。を押すとesc、通常モードに戻ります。-1は、標準的な用語を学ぼうとしている(そして、その結果、ヘルプシステムの意味を理解することができる)人を誤解させているためです。
直観

6
@intuited誰でも編集を提案できます。これは、長期的には、コメントに埋もれた賛成票や良いアドバイスよりも役立つでしょう。
マイケル・マーティン・スマッカー

情報のおかげで、VIMのどこかに表示されるため、インターネットで検索するのはばかげています。
シュリドゥットコタリ

14

まず、escapeキーを押します。1

次に入力しますZZ(2つの大文字のZが連続しています)。
または、と入力し:xます。いずれも編集を保存して終了します。
使用することもできます:wq

または、入力することもできます:q (別名、 " quit、please ")これは、編集していない場合にのみ終了します。

編集を行った後、それらを破棄して終了する場合は、:q!(「 " quit、damn it!"」と入力してください)

1:これにより、「コマンド」モードになります。終了に必要なコマンドなど、コマンドの入力に必要なもの。


4

不便なことに、グラフィカルプログラム用の「X」ボタンがあるようなコマンドラインプログラムを終了する一般的な方法はありません。

多くのコマンドラインプログラムは、Q(たとえばmanand top)またはCtrl+ C(たとえばpingand watch)のいずれかを使用して終了するというテーマに従いますが、これは特にテキストエディター間でかなり異なります。

  • 特にVim:q!then のあいまいな組み合わせを使用しますがEnter、通常は前に数回押すとEsc適切に測定されます。
  • 別のgemであるEmacsはCtrl+にX続けてCtrl+を好みCます。

このような編集者は、経験の浅い人のためのtrapです。私の個人的な好みと推奨事項は、コマンドラインでテキストを強制的に編集する場合、代わりに、よりわかりやすいJoe's Own Editor(JOE)を使用することです。


4
私は実際、それnanoははるかに普遍的な自明のコンソールテキストエディタだと主張します。
jondavidjohn

@jondavidjohnあなたの主張は議論の余地がありません。nanoは間違いなくより普遍的であることに同意し、JOEほど自明ではないという主張はしません。JOEに対する私の好みは、拡張された機能セットによるものであり、経験の浅いユーザーに対する私の推奨は、古風なWriteOutの代わりにSaveという用語を使用するなどの微妙な影響を受けます
アーンドリューク

通常、^ Zを使用してプロセスを一時停止できます。その後、それを殺すか、無視するか、バックグラウンドに置くか、戻すことができます。(%1を強制終了または%x、bg、fgを強制終了)。とにかく、ある程度のジョブ制御の統一があります。
ベラク

3

jondavidjohnの答えと並んで、vimの使用に関する不可欠な情報を含む2つのリンクを以下に示します。

  1. これは、編集モード、コマンドモード、またはビジュアルモードのいずれであるかに応じて、各キーの機能を示すキーボードグラフィックです。

    http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html

  2. これは、私がこれまで経験した中で最高のvimチュートリアルです。会話型でわかりやすいのは、IRC /インスタントメッセージング形式によるものです。

    http://www.vi-improved.org/tutorial.php

最後に、aendrukのような、高度なコマンドラインテキストエディターを単に使用したくない人がいます。特にVimの学習曲線は急勾配であり、実際に慣れるには初期の努力が必要です。しかし、それは非常に高速で、非常に強力です。基本的なデスクトップの使用法以外にLinuxに興味があるなら、VimやEmacsのようなまともなコマンドラインテキストエディターを学ぶ時間を費やす価値があります。テキストを編集するだけで、それ以上は気にしない場合は、gedit filename.txt代わりに入力してみてください。Windowsのメモ帳によく似た使い慣れたグラフィカルプログラムを起動します。


@djeikyb:基本的なデスクトップの使用と高度なコマンドラインのテキスト編集を区別してくれてありがとう。他のLinuxディストリビューションに対するUbuntuの強みは、日常のコンピューターユーザーがLinuxデスクトップにアクセスできるようにする能力にあります。そのおかげで、Vimのようなエディターが何であるかを知る必要がなくなるというユニークな贅沢さがますます高まっています。
アーンドリューク

...この特別な自由を念頭に置いて、私は、日常のコンピューター使用中に忍耐力を持っているのと同じくらい、従来のLinuxコマンドラインメソッドよりも高いレベルで作業することを決定しました。私ができる余裕があるので、私は主にシンプルでアクセス可能なツールのみを利用する努力をます。私が単にコマンドラインテキストエディタが好きではないと言うのは不正確です。それどころか、私はたまたまVimOutlinerプラグインでVimが好きで、Vimperator / Pentadactylプロジェクトに影響を与えたことに感謝しています。
アーンドリューク

...しかし、私はこれらのツールの個人的な使用は、典型的なコンピューター使用からの逸脱であると考えています。私は、Ubuntuコミュニティにとって、急勾配の学習曲線を備えた高度なツールを気軽に使用することは日常のユーザーの常識であると容易に示唆することは、Ubuntuコミュニティにとって健全な発展になると考えています。
アーンドリューク

@Letseatlunch、あなたの目標がVimに習熟することであるなら、ぜひともその追求を続けることをお勧めします。重要なことに、Ubuntuは他のオペレーティングシステムにはまったく欠けている高度なツールを数多く提供していますが、それらを使用することを学ぶことはUbuntuを使用するための要件であってはなりません。
アーンドリューク

素晴らしい説明!これをよりよく反映するように回答を編集します。また、geditはおなじみのguiでより高いレベルであり、最初はnanoがばかげて混乱していたため、nanoよりもgeditを特にお勧めしました(キャレットシンボルの意味は??どうやって終了しますか? 。面白いのは、vimが私の選択のエディターであることを考えると。
djeikyb

2

動作Esc :q!しない場合 、

最初にしてみてくださいCtrl+をq(とロックされた画面ロックを解除するにはCtrl+をs

再試行Esc :q!(保存せずに終了する)またはEsc :wq(保存して終了する)


0

保存せずに終了したい:

  1. ヒット ESC
  2. ヒット ZQ

保存して終了:

  1. ヒット ESC
  2. ヒット ZZ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.