2015-09-19 8 views
10

のは、私はvimの中でこのレイアウトを持っているとしましょう:VIM:次のウィンドウへのウィンドウを「拡張」

+-----+-----+-----+ 
|  |  |  | 
| a |  |  | 
|  |  |  | 
+-----+ c | d | 
|  |  |  | 
| b |  |  | 
|  |  |  | 
+-----+-----+-----+ 

が、それはこのレイアウトで終わることが可能である:

+-----+-----+-----+ 
|  |  |  | 
| a | c |  | 
|  |  |  | 
+-----+-----+ d | 
|   |  | 
|  b  |  | 
|   |  | 
+-----+-----+-----+ 

「拡張右のような"コマンド?

PS。 ctrl-w Jbに、次にctrl-w Ldに、私のレイアウトは実際これより複雑です。私は本当に "右に伸びる"コマンドがあればそれを探しています。

+1

ええ、私はこれの組み込みのコマンドは存在しないと思います。あなたが言うように、 ' J'と' wincent

答えて

0

これは脆いですが、おそらく何もありません!

function! ExtendRight() 
    let l:start=winnr() 
    exe "normal \<c-w>l" 
    let l:shrink=bufnr('%') 
    close 
    exe "normal " . l:start . "\<c-w>w" 
    exe "normal \<c-w>k" 
    vsplit 
    exe "b " . l:shrink 
endfunction 

nnoremap <c-w>e :call ExtendRight()<CR>でマップできます。

0

これは機能として実装するのが難しいです。なぜなら、vimがこれをネイティブに実行しない理由を考えると、多くのエッジケースシナリオが考えられるからです。

あなたはDctrl-w Lその後、 B ctrl-w Jを使用するオプションが気に入らない場合は、最も簡単な方法は、C分割を閉じてから、に新しい垂直分割を開くことであろうと、その中のバッファ/ファイルを開きます。

関連する問題