可能重复:
To switch from vertical split to horizontal split fast in Vim
如果我有两个水平拆分的窗口,如何旋转它们来获得两个垂直拆分的窗口?
以及如何切换缓冲区?
发布于 2011-05-23 16:20:43
如果您只打开了两个窗口,则当前答案都很有效。如果你有更多的东西,移动窗口的逻辑可能会变得混乱。
我在我的.vimrc中有了这个,允许我‘拖’和‘删除’一个缓冲区,然后将它粘贴到一个窗口中,覆盖当前的缓冲区,或者作为一个vsplit。
fu! PasteWindow(direction) "{{{
if exists("g:yanked_buffer")
if a:direction == 'edit'
let temp_buffer = bufnr('%')
endif
exec a:direction . " +buffer" . g:yanked_buffer
if a:direction == 'edit'
let g:yanked_buffer = temp_buffer
endif
endif
endf "}}}
"yank/paste buffers
:nmap <silent> <leader>wy :let g:yanked_buffer=bufnr('%')<cr>
:nmap <silent> <leader>wd :let g:yanked_buffer=bufnr('%')<cr>:q<cr>
:nmap <silent> <leader>wp :call PasteWindow('edit')<cr>
:nmap <silent> <leader>ws :call PasteWindow('split')<cr>
:nmap <silent> <leader>wv :call PasteWindow('vsplit')<cr>
:nmap <silent> <leader>wt :call PasteWindow('tabnew')<cr>
https://stackoverflow.com/questions/6071266
复制相似问题