---
title: "Quickly move lines up and down in any Vim mode"
description: "I often move lines around in vim so I have created mappings to make this easier. These map to ⌘-j for move down and ⌘-k for move up. Works in normal, insert, and visual modes. vim nnoremap <D-j> :m…"
canonical: https://oozou.com/til/quickly-move-lines-up-and-down-in-any-vim-mode-37
locale: en
date: 2020-10-13
topic: vim
---

# Quickly move lines up and down in any Vim mode

> I often move lines around in vim so I have created mappings to make this easier. These map to ⌘-j for move down and ⌘-k for move up. Works in normal, insert, and visual modes. vim nnoremap <D-j> :m…

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

I often move lines around in vim so I have created mappings to make this easier.
These map to *⌘-j* for move down and *⌘-k* for move up. Works in normal, insert, and visual modes.
*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*
I use MacVim so I have used *D(⌘)* for the modifier key. To use in terminal based vims, use a different modifier e.g. *`<A-j>`*

---

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

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