Vimで:shellコマンドを使用してシェルを開くことはできますが、ファイルを編集すると同時にシェルを使用することはできません。
多くのウィンドウ(またはタブ)でVimを分割し、そのうちの1つでシェルを開く方法はありますか?
Vimで:shellコマンドを使用してシェルを開くことはできますが、ファイルを編集すると同時にシェルを使用することはできません。
多くのウィンドウ(またはタブ)でVimを分割し、そのうちの1つでシェルを開く方法はありますか?
回答:
NeovimとVim 8.2
は、:ter[minal]
コマンドを介してこれをネイティブにサポートします。
詳細についてterminal-window
は、ドキュメントを参照してください。
vsplit term://bash
は、Neovimを使用している場合に試してください。
terminal
コマンドはウィンドウを分割し、ウィンドウステータスバーに特別な色でコマンドシェルを表示します。スリック。
まあそれはあなたのOSに依存します-私は実際にMS Windowsでそれをテストしませんでした-しかし、Conqueはそこにある最高のプラグインの1つです。
実際には、それはより良い場合がありますが、機能します。
:vsp
または:sp
-vimを2つのインスタンスに分割しますが、そのうちの1つだけで:shellを使用することはできません。
vimの別のタブではなく、ターミナルの別のタブを表示しないのはなぜですか。あなたのアイデアを好きなら、あなたはそれを試すことができますCtrl-shift-t.
としてそれらの間を移動Ctrl - pageup
し、Ctrl - pagedown
いくつかのシェルコマンドが必要な場合は、vimで任意のシェルコマンドを使用して作成できます !
例えば:!./a.out
。
vim
。そうのようなパス魔法を:!./%
Ctrl
私はあなたの答えはgnome-terminalのまたは類似エミュレータを前提としていたと-whatever。
これはかなり古い質問だと思いますが、2017年になりました。ターミナルサポートを追加するvimのフォークであるneovimがあります。
したがって、起動:term
するとターミナルウィンドウが開きます。tmux(ターミナルマルチプレクサー)を使用するのとは対照的に、このソリューションの優れている点は、vim
セットアップと同じウィンドウバインディングを使用できることです。neovimはvimと互換性があるため、基本的にはコピーして貼り付けることができ、問題.vimrc
なく動作します。
より多くの利点は、開いたターミナルで通常モードに切り替えることができ、基本的なコピーと編集を行うことができることです。バッファ内のすべてがオートコンプリートで使用できるため、Gitコミットにもかなり役立ちます。
vimも端末サポートをリリースする予定であるため、おそらくvim 8.1でこの回答を更新します。ここで進行状況を追跡できます:https : //groups.google.com/forum/#!topic / vim_dev / Q9gUWGCeTXM
リリースされたら、これはtmuxを使用するよりも優れた設定だと思います。
ShougoのVimShell。neocomplcacheと併用すると、ファイル名を自動補完できます。
絶対にあなたが求めているものではありませんが、ユーザーがバックグラウンドプロセスを存続させて現在のドキュメントの一部を評価する(そしてドキュメントに出力を書き込む)ことができる私のプラグインvim-notebookに興味があるかもしれません。評価対象のコードを含むノートブック形式のドキュメントで使用することを目的としています。
現在tmuxを使用しています。
インストール:sudo apt-get install tmux実行:tmux
Ctrl + bに続けてCtr +%:端末ウィンドウを2つの縦半分に分割します。
Ctrl + "左矢印|右矢印":端末間を移動します。