vim:"扩展"窗口进入下一个窗口

Ben*_*Ben 10 vim window

假设我在vim中有这个布局:

+-----+-----+-----+
|     |     |     |
|  a  |     |     |
|     |     |     |
+-----+  c  |  d  |
|     |     |     |
|  b  |     |     |
|     |     |     |
+-----+-----+-----+
Run Code Online (Sandbox Code Playgroud)

是否有可能以这种布局结束:

+-----+-----+-----+
|     |     |     |
|  a  |  c  |     |
|     |     |     |
+-----+-----+  d  |
|           |     |
|     b     |     |
|           |     |
+-----+-----+-----+
Run Code Online (Sandbox Code Playgroud)

像一个"延伸右"命令?

PS.不要告诉我ctrl-w Jbctrl-w L上使用然后在d,我的布局实际上比这更复杂.如果它存在,我真的在寻找"扩展权限"命令.

Max*_*tor 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
Run Code Online (Sandbox Code Playgroud)

您可以使用 来映射它nnoremap <c-w>e :call ExtendRight()<CR>