2011-09-15 11 views
2

2つのファイルを開くと、別々の分割ウィンドウで自動的に開くように、私はvimrcに何かを入れたいと思います。一度に多くのファイルを開くことがあり、15以上の分割をしてもうまくいかない場合があるので、私は-oで開始したくありません。だから私はいくつのファイルがオープンされているかをチェックするロジックと、2つのウィンドウがそれぞれの分割ウィンドウに入るようにするロジックがほしいと思う。複数のファイルを開くときのVim分割ウィンドウ

おかげで

PS私が最も可能性の高いC++プロジェクトの.CCと.hhファイルを表示するために最も頻繁にこれを使用します。

+0

この15個の[未編集]ウィンドウを同時に閉じる方法はありますか? – Orwellophile

+1

すべて終了するとすべての開いているウィンドウが閉じます :qa! –

答えて

9

最も簡単な方法は、あなたの.vimrcに

if argc() == 2 
    silent all 
endif 

を追加することです。

+0

それ以外は素晴らしいことですが、私は 'Enterを押すか、コマンドを続けるには'を入力します。そのプロンプトを避ける方法はありますか?ありがとう –

+0

うん、 'サイレント'それを修正します。 –

+0

これを垂直分割に変更する方法はありますか?つまり、-oの代わりに-Oを使用しますか? – Leihca

0

おそらく、このようなシェルスクリプトで何かを設定することができます:あなたは少しの空想を感じている場合はいずれかのオプションであり、無視している場合、あなたはパラメータをループしてチェックすることで、より複雑な何かができる

#!/bin/bash 
if [[ "$#" -eq "2" ]] 
then 
    /usr/bin/vim -o $1 $2 
else 
    /usr/bin/vim $* 
fi 

それら。

+1

私はそのようにすることを考えましたが、むしろそれを私のvimrcに持っていきます。私は他のアイデアがない場合は、私はそれを受け入れるでしょう。ありがとう –

1

たぶん、あなたは、私はそれはあなたに最適なソリューション(この場合には、Vimは毎回2つのウィンドウが開きます)ではありません知っている

vim -o2 file1 file2 file3... 

を試すことができます。

しかし、あなたはほぼ完璧なこの

if [ $# -ge 2 ]; 
    vim -o2 $* 
else 
    vim $* 
fi 

のような小さなスクリプトを記述(および使用)することができます;)

4

私は私のvimに追加することにより、単独のコマンドラインから、同じことを実現しますコマンド-c 'split | bn'。同じコマンドで好きなだけ多くのファイルを開くことができます。 -cはコマンドを実行するように指示し、一重引用符では'split | bn'はvimにウィンドウを分割し、次のバッファに切り替えます。私は、例えば、だから入力した場合:

gvim foo1.cpp foo2.cpp foo3.cpp foo4.cpp -c 'split | bn' 

は、その後のgvimは、分割ウィンドウで、最初の2つのファイル、foo1.cppとfoo2.cppで開きます。私は.vimrcを変更する必要がないので(私はそれをどのマシンでも使うことができるので)この方法が好きです。コマンドラインにはまだまだ簡潔です。

注:私はこれをgvimでテストしましたが、端末のvimではテストしませんでした。

+0

それはトリッピーですが、同じ質問をする必要があります:垂直分割にすることができますか? – Orwellophile

+1

gvimに送信されたコマンドの 'split'を 'vsplit'と入れ替えます。 –

+0

-cオプションに感謝します。 – Brain90

関連する問題