return {
  -- Normal mode
  n = {
    -- ["<leader>bb"] = { "<cmd>tabnew<cr>", desc = "New tab" },
    -- ["<leader>bc"] = { "<cmd>BufferLinePickClose<cr>", desc = "Pick to close" },
    -- ["<leader>bj"] = { "<cmd>BufferLinePick<cr>", desc = "Pick to jump" },
    -- ["<leader>bt"] = { "<cmd>BufferLineSortByTabs<cr>", desc = "Sort by tabs" },

    -- Easy buffer navigation
    ["<tab>"] = { "<cmd>bnext<cr>", desc = "Switch to next buffer" },
    ["<S-tab>"] = { "<cmd>bprevious<cr>", desc = "Switch to previous buffer" },

    -- quick save
    -- ["<C-s>"] = { ":w!<cr>", desc = "Save File" },  -- change description but the same command

    -- My telescope keybindings
    ["<F1>"] = { "<cmd>Telescope help_tags<cr>", desc = "Find help with Telescope" },
    ["<leader>gf"] = { "<cmd>Telescope git_files<cr>", desc = "Find git files with Telescope" },
    ["<leader>fq"] = { "<cmd>Telescope quickfix<cr>", desc = "Find quickfixes with Telescope" },
    ["<leader>fs"] = { "<cmd>Telescope spell_suggest<cr>", desc = "Find spell suggestions with Telescope" },
    ["<leader>fp"] = { "<cmd>Telescope projects<cr>", desc = "Find projetcs with Telescope" },

    -- My personal keybindings
    ["<leader>²"] = { name = "Personal" },
    ["<leader>²t"] = { name = "Terminals" },
    ["<leader>²tt"] = { "<cmd>TermSelect<cr>", desc = "Select a terminal" },
    ["<leader>²tg"] = { "<cmd>terminal tig<cr>", desc = "Open tig in a new tab" },

    ["<leader>²n"] = { name = "Neotree" },
    ["<leader>²nb"] = { "<cmd>Neotree toggle buffers left<cr>", desc = "Open Neotree Buffers" },
    ["<leader>²ng"] = { "<cmd>Neotree toggle git_status left<cr>", desc = "Open Neotree Git status" },

    ["<F2>"] = { '<cmd>Neotree toggle<cr>', desc = "File Explorer" },                                              -- F26 corresponds to <Ctrl+F2> on my keyboard
    ["<F3>"] = { function() require("astronvim.utils").toggle_term_cmd "lazygit" end, desc = "Lazygit terminal" }, -- F27 corresponds to <Ctrl+F3> on my keyboard
    ["<F4>"] = { function() require("astronvim.utils").toggle_term_cmd "tig" end, desc = "Tig terminal" },         -- F28 corresponds to <Ctrl+F4> on my keyboard
  },


  -- Insert mode
  i = {
    ["<F2>"] = { '<cmd>Neotree toggle<cr>', desc = "File Explorer" },                                              -- F26 corresponds to <Ctrl+F2> on my keyboard
    ["<F3>"] = { function() require("astronvim.utils").toggle_term_cmd "lazygit" end, desc = "Lazygit terminal" }, -- F27 corresponds to <Ctrl+F3> on my keyboard
    ["<F4>"] = { function() require("astronvim.utils").toggle_term_cmd "tig" end, desc = "Tig terminal" },         -- F28 corresponds to <Ctrl+F4> on my keyboard
  },

  -- Terminal mode
  t = {
    -- setting a mapping to false will disable it
    -- ["<esc>"] = false,
    -- Switch to normal mode in terminal mode
    ["<Esc><Esc><Esc>"] = { "<C-\\><C-n>" },
    -- Clear Ctrl+l so that we can use it to clear the terminal
    ["<C-l>"] = false,
    ["<C-h>"] = false,
    -- Clear Ctrl-J and Ctrl-K so that we can use them to navigate the terminal (for lazygit)
    ["<C-j>"] = false,
    ["<C-k>"] = false,
    -- My terms
    ["<F3>"] = { function() require("astronvim.utils").toggle_term_cmd "lazygit" end, desc = "Lazygit terminal" }, -- F27 corresponds to <Ctrl+F3> on my keyboard
    ["<F4>"] = { function() require("astronvim.utils").toggle_term_cmd "tig" end, desc = "Tig terminal" },         -- F28 corresponds to <Ctrl+F4> on my keyboard
  },
}