diff --git a/lua/chadrc.lua b/lua/chadrc.lua index edadb13..490598f 100644 --- a/lua/chadrc.lua +++ b/lua/chadrc.lua @@ -41,6 +41,8 @@ M.ui.plugin = { M.options = { clipboard = "unnamedplus", cmdheight = 1, + copy_cut = true, -- copy cut text ( x key ), visual and normal mode + copy_del = true, -- copy deleted text ( dd key ), visual and normal mode expandtab = true, hidden = true, ignorecase = true, diff --git a/lua/core/mappings.lua b/lua/core/mappings.lua index 547fe60..5fb9764 100644 --- a/lua/core/mappings.lua +++ b/lua/core/mappings.lua @@ -13,12 +13,6 @@ local M = {} -- these mappings will only be called during initialization M.misc = function() local function non_config_mappings() - -- dont copy any deleted text , this is disabled by default so uncomment the below mappings if you want them - -- map("n", "dd", [=[ "_dd ]=]) - -- map("v", "dd", [=[ "_dd ]=]) - -- map("v", "x", [=[ "_x ]=]) - -- todo: this should be configurable via chadrc - -- Don't copy the replaced text after pasting in visual mode map("v", "p", '"_dP') @@ -35,6 +29,16 @@ M.misc = function() end local function optional_mappings() + -- don't yank text on cut ( x ) + if not config.options.copy_cut then + map({ "n", "v" }, "x", '"_x') + end + + -- don't yank text on delete ( dd ) + if not config.options.copy_del then + map({ "n", "v" }, "dd", '"_dd') + end + -- navigation within insert mode if config.options.insert_nav then local inav = maps.insert_nav diff --git a/lua/default_config.lua b/lua/default_config.lua index 080254c..7f6e355 100644 --- a/lua/default_config.lua +++ b/lua/default_config.lua @@ -45,6 +45,8 @@ M.ui.plugin = { M.options = { clipboard = "unnamedplus", cmdheight = 1, + copy_cut = true, -- copy cut text ( x key ), visual and normal mode + copy_del = true, -- copy deleted text ( dd key ), visual and normal mode expandtab = true, hidden = true, ignorecase = true,