return {
  i = {
    ["<C-a>"] = { "<esc>I" },
    ["<C-e>"] = { "<esc>A" },
  },
  n = {
    ["<esc><cr>"] = { "<esc><cmd>wq!<cr>", silent = true },
    ["<leader>c"] = { '<cmd>execute "set colorcolumn=" . (&colorcolumn == "" ? "80,120" : "")<cr>', silent = true, desc = "Toggle Column" },
    ["<leader>h"] = { "<cmd>set hlsearch!<cr>", silent = true, desc = "Toggle hlsearch" },
    ["<leader>j"] = { "<cmd>bprevious<cr>", silent = true, desc = "Buffer Previous" },
    ["<leader>k"] = { "<cmd>bnext<cr>", silent = true, desc = "Buffer Next" },
    ["<leader>n"] = { '<cmd>set number!<cr><cmd>IndentBlanklineToggle<cr><cmd>execute "set signcolumn=" . (&signcolumn == "yes" ? "no" : "yes")<cr>', silent = true, desc = "Toggle Decorations" },
    ["<leader>w"] = { "<cmd>lua require('whitespace-nvim').trim()<cr>", silent = true, desc = "Trim Trailing Whitespaces" },
    ["<leader>x"] = { "<cmd>bd<cr>", silent = true, desc = "close buffer" },
    ["<tab>"] = { "<C-w>w", silent = true },
  },
}
