seh*_*ehe 235
如果将它们垂直拆分C-wJ以将一个移动到底部
如果您将它们水平分割C-wL以向右移动一个
要在拆分窗口的"列"或"行"中旋转, C-wC-r
以下命令可用于更改窗口布局.例如,当有两个垂直分割窗口时,CTRL-W K将在水平分割窗口中更改它.CTRL-W H反过来做了.
Nic*_*ick 81
Ctrl-w H或键入:wincmd H从水平到垂直布局.
Ctrl-w J或键入:wincmd J从垂直布局到水平布局.
Ctrl-w r或键入:wincmd r以交换两个缓冲区但保持窗口布局相同.
Ctrl-w w或键入:wincmd w以在两个窗口/缓冲区之间移动光标.
您可能希望绑定这些序列中的一个或多个以使其更快地键入.我把它放在我的.vimrc中,以便,l将光标移动到当前标签中的下一个缓冲区:
let mapleader = ","
nmap <Leader>l <C-w>w
Run Code Online (Sandbox Code Playgroud)
Wil*_*ell 11
CTRL- W SHIFT- H将旋转方向,CTRL- W H移动到左侧窗口,CTRL- W L向右移动.看到
:help split
和
:help ^w
欲获得更多信息.
如果你只打开两个窗口,那么当前的答案都很有效.如果你有更多,那么移动窗户的逻辑就会变得毛茸茸.
我在我的.vimrc中有这个允许我'yank'和'删除'一个缓冲区然后将它粘贴到当前缓冲区的窗口或作为[v]拆分.
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>
Run Code Online (Sandbox Code Playgroud)