เพื่อสลับwindow
ตำแหน่งเอฟเฟกต์จะเทียบเท่ากับการแลกเปลี่ยนบัฟเฟอร์ที่หน้าต่างทั้งสองแสดง
เช่นหากหน้าต่าง A มีบัฟเฟอร์ 2 และหน้าต่าง B มีบัฟเฟอร์ 8 คุณจะต้องการไปที่หน้าต่าง A เลือกบัฟเฟอร์ 8 จากนั้นไปที่ Window 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()
วิธีนี้จะแลกเปลี่ยนบัฟเฟอร์ในหน้าต่างที่เลือกไว้ล่วงหน้าสองหน้าต่างโดยปล่อยเคอร์เซอร์ไว้ในหน้าต่างเดิม
การเลือกหน้าต่างที่ต้องการสองหน้าต่างที่จะสลับกันก่อนหน้านั้นเป็นรายละเอียดที่สำคัญเนื่องจากจำเป็นต้องระบุถึง Vim ที่จะใช้งานได้