Vimウィンドウ内でシェルを開くにはどうすればよいですか?


112

Vimで:shellコマンドを使用してシェルを開くことはできますが、ファイルを編集すると同時にシェルを使用することはできません。

多くのウィンドウ(またはタブ)でVimを分割し、そのうちの1つでシェルを開く方法はありますか?


1
以前はvim用のシェルパッチがありましたが、コンパイルできなくなりました。真のシェルに到達するのに最も近いのは、screenまたはtmuxを使用することです。これは私がvimで見逃す最大のものです。
ランディモリス

回答:


85

NeovimとVim 8.2は、:ter[minal]コマンドを介してこれをネイティブにサポートします。

詳細についてterminal-windowは、ドキュメントを参照してください。


5
これは、vim> = 8.0で受け入れられる解決策です。
アマト

3
ターミナルを垂直に分割する方法は?
キランクマール

2
@KiranKumarKotari vsplit term://bashは、Neovimを使用している場合に試してください。
プラーター

4
vim 8.0以降では、terminalコマンドはウィンドウを分割し、ウィンドウステータスバーに特別な色でコマンドシェルを表示します。スリック。
NoelProf

@KiranKumarKotari vert [ical] ter [
minal

46

まあそれはあなたのOSに依存します-私は実際にMS Windowsでそれをテストしませんでした-しかし、Conqueはそこにある最高のプラグインの1つです。

実際には、それはより良い場合がありますが、機能します。


4
Vundleを使用してプラグインを管理している場合は、.vimrcファイルにBundle 'jewes / Conque-Shell'を追加し、:BundleInstallを実行してインストールできます。
明江市2014

注意すべき点の1つ:viの+ pythonまたは+ python3要件は、一部の作業環境でキラーになる可能性があります。
cfi 2015年

これは更新されたURL(スクリーンショット付き)です:github.com/wkentaro/conque.vim
Walty Yeung

18

:vspまたは:sp-vimを2つのインスタンスに分割しますが、そのうちの1つだけで:shellを使用することはできません。

vimの別のタブではなく、ターミナルの別のタブを表示しないのはなぜですか。あなたのアイデアを好きなら、あなたはそれを試すことができますCtrl-shift-t.としてそれらの間を移動Ctrl - pageupし、Ctrl - pagedown

いくつかのシェルコマンドが必要な場合は、vimで任意のシェルコマンドを使用して作成できます !

例えば:!./a.out


1
そして、現在開いている実行可能ファイルを実行するために、あなたが使用することができますvim。そうのようなパス魔法を:!./%
cprn

なぜ、端末の別のタブを表示しない -誰もがGUI上の端末エミュレータでVimを使用している...から、Ctrl私はあなたの答えはgnome-terminalのまたは類似エミュレータを前提としていたと-whatever。
törzsmókus

8

あなたは使用することができますtmuxまたはscreenあなたの端末を分割する(第2のパッチなしでのみ、水平分割を行うことができます)。しかし、両方のペインにVimの1つのインスタンスを表示する方法がわかりません。


4
gitからビルドした場合、画面は垂直分割できます。
ランディモリス

8

まだ見つけていない場合は、すばらしい画面プラグインを使用できます

Conqueも例外的ですが、画面の方がはるかに実用的です(たとえば、バッファーを「散らかす」ことはなく、バッファーで編集した後に本当に必要なコマンドを送信するだけで済みます)。


6

これはかなり古い質問だと思いますが、2017年になりました。ターミナルサポートを追加するvimのフォークであるneovimがあります。

したがって、起動:termするとターミナルウィンドウが開きます。tmux(ターミナルマルチプレクサー)を使用するのとは対照的に、このソリューションの優れている点は、vimセットアップと同じウィンドウバインディングを使用できることです。neovimはvimと互換性があるため、基本的にはコピーして貼り付けることができ、問題.vimrcなく動作します。

より多くの利点は、開いたターミナルで通常モードに切り替えることができ、基本的なコピーと編集を行うことができることです。バッファ内のすべてがオートコンプリートで使用できるため、Gitコミットにもかなり役立ちます。

vimも端末サポートをリリースする予定であるため、おそらくvim 8.1でこの回答を更新します。ここで進行状況を追跡できます:https : //groups.google.com/forum/#!topic / vim_dev / Q9gUWGCeTXM

リリースされたら、これはtmuxを使用するよりも優れた設定だと思います。


6
Vim 8.0でリリースされたと思います
LangeHaare 2017年


1

絶対にあなたが求めているものではありませんが、ユーザーがバックグラウンドプロセスを存続させて現在のドキュメントの一部を評価する(そしてドキュメントに出力を書き込む)ことができる私のプラグインvim-notebookに興味があるかもしれません。評価対象のコードを含むノートブック形式のドキュメントで使用することを目的としています。


0

「画面」プログラムを開き、画面を分割し、あるシェルでシェルを開き、別のシェルでvimを開きます。私のために働く。


説明がなかったため-1をキャンセルしました。さらに、私はvim画面プラグインソリューションをテストしましたが、mrcybulのソリューションとそれほど変わりません。@mrcybul:助けようとする戦車。反対票を投じられないようにするには、他の回答を注意深く読み、何か新しいことをもたらすと思われる場合にのみ回答を追加してください。また、特定のケースでソリューションが優れている理由も含めてください。
Titou

0

現在tmuxを使用しています。

インストール:sudo apt-get install tmux実行:tmux

Ctrl + bに続けてCtr +%:端末ウィンドウを2つの縦半分に分割します。

Ctrl + "左矢印|右矢印":端末間を移動します。

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