window
位置を交換するための効果は、これら2つのウィンドウに表示されるバッファーを交換することと同じです。
たとえば、ウィンドウAにバッファ2があり、ウィンドウBにバッファ8がある場合、ウィンドウAに移動してバッファ8を選択し、ウィンドウBに移動してバッファ2を選択します。
このアイデアがきっかけでスクリプトを作成しました-そして、すでに自分のツールボックスにもあります
機能コード:
function! WinBufSwap()
let thiswin = winnr()
let thisbuf = bufnr("%")
let lastwin = winnr("#")
let lastbuf = winbufnr(lastwin)
exec lastwin . " wincmd w" ."|".
\ "buffer ". thisbuf ."|".
\ thiswin ." wincmd w" ."|".
\ "buffer ". lastbuf
endfunction
command! Wswap :call WinBufSwap()
map <Leader>bs <C-c>:call WinBufSwap()<CR>
- ウィンドウAを選択
- ウィンドウBを選択
:call WinBufSwap()
これにより、事前に選択された2つのウィンドウのバッファーが交換され、元のウィンドウにカーソルが残ります。
どちらのウィンドウを操作するかをVimに指定するために必要なため、事前に交換する2つのウィンドウを選択することが重要です。