web-dev-qa-db-ja.com

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

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

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

96
Martín Fixman

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

実際には、それは改善できますが、機能します。

46
Zsolt Botykai

Vim 8(およびneovim)は、:ter[minal]コマンド。見る - terminal-window 詳細についてはドキュメントをご覧ください。

48
prater

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

ターミナルの別のタブをvimの別のタブではなく表示してください。アイデアが気に入ったら、試してみてください:Ctrl-shift-t.Ctrl - pageupCtrl - pagedownでそれらの間を移動する

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

たとえば、:!./a.out

18
vladv

まだ見つかっていない場合は、驚くべき screen plugin を使用できます。

Conque も例外ですが、画面の方がはるかに実用的です(たとえば、バッファーを「無駄にしない」ため、バッファーで編集した後に本当に必要なコマンドを送信できます)

8
Eelvex

tmuxまたはscreen(2番目はパッチなしで水平方向の分割のみを行うことができます)を使用して端末を分割できます。しかし、私は両方のペインにVimの1つのインスタンスを持つ方法を知りません。

7
ZyX

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

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

さらに、開いている端末で通常モードに切り替えることができ、基本的なコピーと編集ができるという利点があります。また、バッファ内のすべてがオートコンプリートで使用できるため、gitコミットにも非常に便利です。

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

リリースされたら、これはtmuxを使用するよりも優れたセットアップだと思います。

6
chriz

Shougoの VimShell 。neocomplcacheで使用すると、ファイル名を自動補完できます。

3
kuroz

絶対にあなたが求めているものではありませんが、プラグイン vim-notebook に興味があるかもしれませんドキュメント内の出力)。評価対象のコードを含むノートブック形式のドキュメントで使用することを目的としています。

1
Thomas Baruchel

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

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

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

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

0

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

0
mrcybul