มีวิธีเฉพาะในการรวมสองบล็อกข้อความโดย interleaving บรรทัดเช่นผ่านจากนี้
a1
a2
a3
a4
  b1
  b2
  b3
  b4
เพื่อที่:
a1
  b1
a2
  b2
a3
  b3
a4
  b4
ในคำสั่งไม่กี่?
แก้ไข : ฉันชอบโซลูชันของ Sato Katsuraนี่คือวิธีที่ฉันใช้งาน:
function! Interleave()
    " retrieve last selected area position and size
    let start = line(".")
    execute "normal! gvo\<esc>"
    let end = line(".")
    let [start, end] = sort([start, end], "n")
    let size = (end - start + 1) / 2
    " and interleave!
    for i in range(size - 1)
        execute (start + size + i). 'm' .(start + 2 * i)
    endfor
endfunction
" Select your two contiguous, same-sized blocks, and use it to Interleave ;)
vnoremap <pickYourMap> <esc>:call Interleave()<CR>
scroll-bindingหน้าต่าง Vim สองบาน
                b1แล้วผมตีvipเพื่อเลือกก้อนทั้งหมดแล้วซึ่งเป็น,it <map-I've-Picked>มันไม่ทำงานเคียงข้างคุณหรือไม่