Vimを一時的に終了して戻る方法


303

ではなくVimを終了し:qてから編集に戻るにはどうすればよいですか?

回答:


571

ターミナルVimが* nixのフレーバーであると仮定します。

実行中のVimを一時停止するには

Ctrl + Z

プロセスを一時停止し、シェルに戻ります

fg

(にもたらす再開しますF鉱石グラムラウンド)あなたの中断Vimを。

新しいシェルを開始するには

以下を使用してサブシェルを開始します。

:sh

(構成によって)

:set shell?

または

:!bash

に続く:

Ctrl+ D(またはexit、しかし、なぜそんなにタイプするのですか?)

シェルを殺してVimに戻ります。


5
psビューのフォアグラウンドプロセスにunix.stackexchange.com/questions/6115/...
ヴラドVinnikov

1
ファイルの編集中にサーバーの実行を続けたい場合はどうすればよいですか。たとえば、私が実行しnodemon app.js(nodemonがファイルの編集時にサーバーを更新する)、vimの編集に戻りたいとしましょう。2つの個別のターミナルウィンドウなしでそれを行うことができますか?
コスタ

5
またはjobs、(私にとって)より読みやすいタイトルでフォアグラウンドプロセスにアクセスします。次に、たとえばfg %22番目を選択します。
同型

これがうまくいかずcontrol-z、「元に戻す」として機能する場合behave mswinは、vimrcをチェックして、存在するかどうかを確認してください。それは、それを削除している場合はcontrol-z動作します
schuess

3
Windowsでは、入力するとvimに戻ることができますexit
JonnyRaa

107

を使用:shしてデフォルトのシェル$ exitに戻り、シェルプロンプトで入力するとVimに戻ります。


1
私はこれをもっと強く賛成できればいいのに。これがまさに:shellが存在する理由です。
ランディモリス

8
公平を期すために、サブシェル環境ではなく、同じ環境が必要な場合があります。したがって、Vimを完全に終了したときの環境変数の変更を探している場合は、CTRL-z /:susを実行する必要があります。
タンゴブラボー

端末を誤って閉じない$ psように$ exitするために、呼び出す前にvimサブシェルにいるかどうかを確認するために使用できます。これをここで見つけまし(ウェブサイトに記載されているプロンプトインジケーターは試していません)。
ダニエル

34

次の方法で一時的にシェルモードに切り替えることができます。

:! <command>

といった

:! ls

14

Unixシステムを使用している場合、Ctrl+ ZはVimを一時停止し、シェルを提供します。

入力fgして戻ります。Vimは編集中にスワップファイルを作成し、Vimを一時停止してもそのファイルは削除されないことに注意してください(結局Vimを終了するわけではありません)。ダム端末では、このメソッドはviを使用した編集、コンパイル、編集サイクルではかなり標準的でした。私にとって、gVimはタイピングを最小限に抑えることがわかりましたZ



5

Vimを終了し、戻ったときにすべてが同じになる方法はいくつかあります。Vim自体には、さまざまな方法で説明できる非常に優れたドキュメントがあります。vim内で次のコマンドを使用して、関連するヘルプページにアクセスできます。:help usr_21

簡単に要約すると、セッションをそのままにして終了および復帰するさまざまな方法があります。

  1. 一時停止して再開する-これで実際にVimを終了するわけではありません。必要になるまで、バックグラウンドでセッションを非表示にするだけです。コンピュータをリセットするか、Vimにkillコマンドを発行すると、セッションが失われます。これは、一時的に別のタスクに切り替えたい場合に適していますが、その場合は、代わりにGNU Screenユーティリティの使用を検討することをお勧めします。

  2. セッション-これは、Vimのインスタンス間でセッションを保存する真の方法です。本当にVimを終了した場合でも、戻ったときにセッションが存在します。これはおそらくあなたが探しているものです。


5

ユーザーZenの回答を拡張するには、~/.vimrcファイルに次の行を追加して、BashとVimをすばやく切り替えられるようにします。

noremap <C-d> :sh<cr>

5年後、CimはVimのデフォルトの動作を上書きするため、Cdを使用することはおそらく悪いアドバイスであることを述べておきます。デフォルトでは、バッファ内のctrl-d scollウィンドウ。参照vimdoc.sourceforge.net/htmldoc/scroll.html#CTRL-Dを
のXaa


3

Neovimを使用している場合は、次のことができます。

  • :terminal 端末ウィンドウを表示するコマンド。
  • 端末に関することを行う
  • exit端末プロセスを強制終了するために入力します
  • いずれかのキーを押してNeovimに戻ります

0

マウスを少し使ってもかまわない場合:

  • 端末を起動し、
  • ファイルを選択し、
  • [ タブ開く]を選択します。

これにより、ターミナルにVimを実行できる新しいタブが作成されます。次に、マウスを使用して、ターミナルとの間でシフトします。常にタイプする(:shellそして終了する)のではなく、これを好みます。

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