From ae37bcdc9d270a0ffa59a8fd72314e9510f5a9fc Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 9 Aug 2022 15:24:04 +0100 Subject: [PATCH] feat(nvim): add mappings to move lines Fixes #35 --- roles/neovim/files/lua/opdavies/options.lua | 10 ++++++++++ 1 file changed, 10 insertions(+) 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 { "=", ":wincmd =", { noremap = true, silent = true }} + + -- Move line(s) up and down. + local opts = { noremap = true, silent = true } + imap { "", ":m .+1==gi", opts } + imap { "", ":m .-2==gi", opts } + nmap { "", ":m .+1==", opts } + nmap { "", ":m .-2==", opts } + vmap { "", ":m '>+1gv=gv", opts } + vmap { "", ":m '<-2gv=gv", opts } end local function set_highlights()