2009-03-22 7 views
14

可能性の重複:
How to run a terminal inside of vim?端末でVIMウィンドウをフルにするにはどうすればよいですか?

私は、スプリットとvsplitとオープンとうまくセットアップ私のワークスペースをすることができます...しかし、単に端末として分割のいずれかを使用するように私は う窓。私は 追加のxtermを開き、それを戦略的に配置すれば を達成できるかもしれませんが、何度も私は1つのウィンドウにtelnetしていて、端末間のaltタブから私の手が傷つき始めています

アップデート:以下の提案に基づいて私が思いついた最善のことは、画面を使用して実際にvimにそのウィンドウの1つを占有させることでした。

+0

私はあなたがConqueTermを試してみるべきだと思います。 https://github.com/rson/vim-conque 画面は素晴らしいですが、ConqueTermは本当にうまく実装されています。 (私の意見では) –

答えて

13

GNU ScreenでVimとシェルを一緒に実行することを検討してください。 Vim wikiには、VimとScreenの統合に関する情報があります。画面はVimに似た「ウィンドウ」に分割することをサポートしています。 Vim + Screen統合のより厳密な例については、hereを参照してください。

外部の対話型コマンドラインアプリケーションに直接接続されたVimバッファは、多くの人が長らく望んでいた機能ですが、Vimの実装方法やVimの開発者にとっては難しいこれを変更する(間違いなく良い理由で)。

しかし、いくつかの成功事例があります。特にLispコミュニティは、VimでEmacsのSLIME(対話型Lispプロンプト)を再現しようとしています。例については、VimClojureおよびLimpを参照してください。それらのうちの1つはおそらくシェルを実行するために変更することができますが、それはいくつかの作業を必要とします。

-3

あなたはこれを忘れてしまいます。私は恐れますが、それはヴィムではできません。

+0

絶対に真実ではありません:-) –

+0

5つの答えのそれぞれはすべて、合理的な解決策を示しています。 – respectTheCode

3

vimにいる場合は、 ":sh"コマンドでサブシェルを終了し、 "exit"を使ってvimに戻ることができます。あるいは、単にvimを中断してから、元のシェルに戻ってcontrol-Zで起動してから、 "fg"(フォアグラウンド)でvimに戻ります。

またはインストール可能なアドオン"vim-shell"があります。

2

Brian Carper's answerを拡張し、あなたの ~/.screenrcにこれをスローする可能性が:

startup_message off 
# Launch 2 screens on startup 
split 
# Have bash login so $PATH will be updated 
screen -t Vim bash -l -c 'vim' 0 
focus 
screen -t canvas bash -l 
# switch focus back to vim 
focus up 

あなたがscreenを入力するときに、あなたは上部と下部に bashのウィンドウ上でVimのウィンドウを持っています。 <C-a><Tab>で画面ウィンドウを切り替えることができます。

8

vimshellあなたが探しているもののような音がします。

+0

試しましたが、あまりにも偉大ではありません。非ncursesパッケージはサポートしていません。 –

+0

リンクはすでに停止していますが、同じドメインのインデックスページにリダイレクトされます。 – SidOfc

14

私が使用します。http://code.google.com/p/conque/wiki/Usage

あなたが入力することができます。ConqueTermはbash:新しいと分割。そしてあなたは働くターミナルウィンドウを持っています。 :)

+0

これは私が最後に満足していた正確な解決策でした。 私はスクリーンソリューション、vimshellソリューションを試しました。私の最後の個人的な好みはConqueTermです。 –

2
+1

これは便利です! Rubyの代わりにPythonを使って、あなたのスクリーンショットを見てみると、私はファイルを保存するときに既存のユーティリティを使ってテストスイートを実行したいということです。それは動作しますが、私がそのウィンドウのINSERT MODEにいないと、ユーティリティのSTDOUTをバッファに書き込まないので、毎回そのウィンドウに入り、 'i'を押して失敗したスペックを見なければなりません。 INSERT MODEでなくても、ウィンドウにユーティリティのSTDOUTを常にバッファに書き込む方法を知っていますか?乾杯! –

+1

ちょうどそれをする 'let g:ConqueTerm_ReadUnfocused = 1'が見つかりました。残念なことに、VIMのスクリプティングの制限により、非フォーカス状態でウィンドウをスクロールすることはできません。残念な。 :/ –

関連する問題