diff --git a/roles/neovim/files/lua/opdavies/options.lua b/roles/neovim/files/lua/opdavies/options.lua index 90254fe..a52e9cd 100644 --- a/roles/neovim/files/lua/opdavies/options.lua +++ b/roles/neovim/files/lua/opdavies/options.lua @@ -79,6 +79,7 @@ local function set_key_mappings() local keymap = require "opdavies.keymap" local imap = keymap.imap local nmap = keymap.nmap + local vmap = keymap.vmap local xmap = keymap.xmap -- Easy insertion of a trailing ; or , from insert mode @@ -93,6 +94,15 @@ local function set_key_mappings() -- Automatically resize buffers. nmap { "<leader>=", ":wincmd =<cr>", { noremap = true, silent = true }} + + -- Move line(s) up and down. + local opts = { noremap = true, silent = true } + imap { "<M-j>", "<Esc>:m .+1<CR>==gi", opts } + imap { "<M-k>", "<Esc>:m .-2<CR>==gi", opts } + nmap { "<M-j>", ":m .+1<CR>==", opts } + nmap { "<M-k>", ":m .-2<CR>==", opts } + vmap { "<M-j>", ":m '>+1<CR>gv=gv", opts } + vmap { "<M-k>", ":m '<-2<CR>gv=gv", opts } end local function set_highlights()