---
title: "ย้ายบรรทัดขึ้นลงอย่างรวดเร็วใน Vim ได้ทุก mode"
description: "เนื่องจากต้องย้ายบรรทัดไปมาใน vim บ่อย เลยสร้าง mapping ไว้ให้ทำได้ง่ายขึ้น โดย map เป็น ⌘-j สำหรับย้ายลง และ ⌘-k สำหรับย้ายขึ้น ใช้ได้ทั้ง normal, insert และ visual mode vim nnoremap <D-j> :m…"
canonical: https://oozou.com/til/quickly-move-lines-up-and-down-in-any-vim-mode-37
locale: th
date: 2020-10-13
topic: vim
---

# ย้ายบรรทัดขึ้นลงอย่างรวดเร็วใน Vim ได้ทุก mode

> เนื่องจากต้องย้ายบรรทัดไปมาใน vim บ่อย เลยสร้าง mapping ไว้ให้ทำได้ง่ายขึ้น โดย map เป็น ⌘-j สำหรับย้ายลง และ ⌘-k สำหรับย้ายขึ้น ใช้ได้ทั้ง normal, insert และ visual mode vim nnoremap <D-j> :m…

Published: 2020-10-13 · Topic: [vim](https://oozou.com/th/til-topics/vim) ([markdown](https://oozou.com/th/til-topics/vim.md))

เนื่องจากต้องย้ายบรรทัดไปมาใน 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>`*

---

Contact OOZOU: hello@oozou.com · +66 2544 0000 · https://oozou.com/th/contact

More for AI agents: https://oozou.com/llms.txt · every page has a markdown twin at its URL plus ".md"
