From fd2aa6095f7b662add66e664db28b88cb4e83795 Mon Sep 17 00:00:00 2001 From: siduck76 Date: Sat, 14 Aug 2021 13:44:28 +0530 Subject: [PATCH] improve nav_in insertmode (#240) --- lua/chadrc.lua | 16 ++++++++------- lua/mappings.lua | 53 +++++++++++++----------------------------------- 2 files changed, 23 insertions(+), 46 deletions(-) diff --git a/lua/chadrc.lua b/lua/chadrc.lua index 221fb48..cd1df7a 100644 --- a/lua/chadrc.lua +++ b/lua/chadrc.lua @@ -23,7 +23,8 @@ local M = { shiftwidth = 2, smartindent = true, mapleader = " ", - autosave = false + autosave = false, + enable_insertNav = true -- navigation within insertmode }, -- enable / disable plugins (true for disable) plugin_status = { @@ -103,12 +104,13 @@ local M = { toggle_right = "v", toggle_bot = "h" }, - unix_keymap = { - toggle_unix_keymap = "k", - forward = "", - backward = "", - top_of_line = "", - end_of_line = "" + insert_nav = { + forward = "", + backward = "", + top_of_line = "", + end_of_line = "", + prev_line = "", + next_line = "" }, misc = { esc_Termmode = "jk", diff --git a/lua/mappings.lua b/lua/mappings.lua index 5d5ef4c..77fb1ca 100644 --- a/lua/mappings.lua +++ b/lua/mappings.lua @@ -24,45 +24,6 @@ map("v", "x", [=[ "_x ]=], opt) this line too ]] -- --- toggle unix readline's keymap -map("n", user_map.unix_keymap.toggle_unix_keymap,"lua require 'mappings'.unix_keymap()",{nowait = true}) - -local _cmap_containp = function (key) - local cmap_tab = vim.api.nvim_get_keymap("c") - - for _, value in ipairs(cmap_tab) do - if value['lhs'] == key then - return true - end - end - return false -end - -M.unix_keymap = function() - local m = user_map.unix_keymap - - if _cmap_containp("") then - vim.api.nvim_del_keymap("i", m.forward) - vim.api.nvim_del_keymap("i", m.backward) - vim.api.nvim_del_keymap("i", m.top_of_line) - vim.api.nvim_del_keymap("i", m.end_of_line) - vim.api.nvim_del_keymap("c", m.forward) - vim.api.nvim_del_keymap("c", m.backward) - vim.api.nvim_del_keymap("c", m.top_of_line) - vim.api.nvim_del_keymap("c", m.end_of_line) - else - map("i", m.forward, '', opt) - map("i", m.backward, '', opt) - map("i", m.top_of_line, '^i', opt) - map("i", m.end_of_line, '', opt) - vim.api.nvim_set_keymap("c", m.forward, '', {noremap = true}) - vim.api.nvim_set_keymap("c", m.backward, '', {noremap = true}) - vim.api.nvim_set_keymap("c", m.top_of_line, '', {noremap = true}) - vim.api.nvim_set_keymap("c", m.end_of_line, '', {noremap = true}) - end -end - - -- Don't copy the replaced text after pasting in visual mode map("v", "p", '"_dP', opt) @@ -185,4 +146,18 @@ M.fugitive = function() map("n", m.git_blame, ":Git blame", opt) end +-- navigation within insert mode +local check_insertNav = require("chadrc").options.enable_insertNav + +if check_insertNav == true then + local m = user_map.insert_nav + + map("i", m.forward, "", opt) + map("i", m.backward, "", opt) + map("i", m.top_of_line, "^i", opt) + map("i", m.end_of_line, "", opt) + map("i", m.next_line, "", opt) + map("i", m.prev_line, "", opt) +end + return M