ย้ายบรรทัดขึ้นลงอย่างรวดเร็วใน Vim ได้ทุก mode
13 ตุลาคม 2563
เนื่องจากต้องย้ายบรรทัดไปมาใน vim บ่อย เลยสร้าง mapping ไว้ให้ทำได้ง่ายขึ้น
โดย map เป็น ⌘-j สำหรับย้ายลง และ ⌘-k สำหรับย้ายขึ้น ใช้ได้ทั้ง normal, insert และ visual mode
vim
nnoremap <D-j> :m .+1<CR>==
nnoremap <D-k> :m .-2<CR>==
inoremap <D-j> <Esc>:m .+1<CR>==gi
inoremap <D-k> <Esc>:m .-2<CR>==gi
vnoremap <D-j> :m '>+1<CR>gv=gv
vnoremap <D-k> :m '<-2<CR>gv=gv
เนื่องจากใช้ MacVim จึงใช้ D(⌘) เป็น modifier key ถ้าจะใช้กับ vim ใน terminal ให้เปลี่ยน modifier เป็นตัวอื่น เช่น <A-j>