summaryrefslogtreecommitdiff
path: root/pkgs/old-custom-neovim/config/lua/mappings.lua
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/old-custom-neovim/config/lua/mappings.lua')
-rw-r--r--pkgs/old-custom-neovim/config/lua/mappings.lua113
1 files changed, 113 insertions, 0 deletions
diff --git a/pkgs/old-custom-neovim/config/lua/mappings.lua b/pkgs/old-custom-neovim/config/lua/mappings.lua
new file mode 100644
index 0000000..cab9565
--- /dev/null
+++ b/pkgs/old-custom-neovim/config/lua/mappings.lua
@@ -0,0 +1,113 @@
+-- Keymap function.
+local mapkey = Utils.mapkey
+
+-- Map the leader key.
+vim.g.mapleader = ' '
+
+-- Pickers
+mapkey("n", "<leader>f", "Open file picker", ":lua Snacks.picker.files()<cr>")
+mapkey("n", "<leader>l", "Open recent file picker", ":lua Snacks.picker.recent()<cr>")
+mapkey("n", "<leader>L", "Go to most recent buffer", ":b#<cr>")
+mapkey("n", "<leader>y", "Open clipboard history picker", ":lua Snacks.picker.cliphist()<cr>")
+mapkey("n", "<leader>/", "Open live grep picker", ":lua Snacks.picker.grep()<cr>")
+mapkey("n", "<leader>\\", "Open command palette", ":lua Snacks.picker.commands()<cr>")
+mapkey("n", "<leader>?", "Open help picker", ":lua Snacks.picker.help()<cr>")
+mapkey("n", "<leader>p", "Open picker picker", ":lua Snacks.picker.pickers()<cr>")
+mapkey("n", "<leader>'", "Open last picker", ":lua Snacks.picker.resume()<cr>")
+mapkey("n", "<leader><leader>", "Open smart picker", ":lua Snacks.picker.smart()<cr>")
+mapkey("n", "<leader>z", "Open zoxide picker", ":lua Snacks.picker.zoxide()<cr>")
+mapkey("n", "<leader>R", "Open treesitter picker", ":Namu treesitter<cr>")
+mapkey("n", "<leader>k", "Open colorscheme picker", ":Namu colorscheme<cr>")
+
+-- Dropbar
+mapkey("n", "<leader>j", "Open dropdown", ":lua require('dropbar.api').pick()<cr>")
+
+-- Tabs
+mapkey("n", "<leader>t", "Manage tabs", "")
+mapkey("n", "<leader>to", "Open new tab", ":tabnew<cr>")
+mapkey("n", "<leader>tc", "Close tab", ":tabclose<cr>")
+mapkey("n", "<leader>tt", "Go to next tab", ":tabnext<cr>")
+mapkey("n", "<leader>tT", "Go to previous tab", ":tabprev<cr>")
+
+-- Buffers
+mapkey("n", "<leader>b", "Manage buffers", "")
+mapkey("n", "<leader>bb", "Go to next buffer", ":bn<cr>")
+mapkey("n", "<leader>bB", "Go to previous buffer", ":bp<cr>")
+mapkey("n", "<leader>bd", "Delete current buffer", ":bd<cr>")
+mapkey("n", "<leader>bD", "Force delete current buffer", ":bd!<cr>")
+mapkey("n", "<leader>bp", "Open buffer picker", ":lua Snacks.picker.buffers()<cr>")
+mapkey("n", "<leader>bg", "Open buffer live grep picker", ":lua Snacks.picker.grep_buffers()<cr>")
+mapkey("n", "<leader>bc", "Clear invisible buffers", function ()
+ local bufinfos = vim.fn.getbufinfo({buflisted = 1})
+ vim.tbl_map(function (bufinfo)
+ if bufinfo.changed == 0 and (not bufinfo.windows or #bufinfo.windows == 0) then
+ vim.api.nvim_buf_delete(bufinfo.bufnr, {force = false, unload = false})
+ vim.cmd.redrawtabline()
+ end
+ end, bufinfos)
+end)
+
+-- Windows
+mapkey("n", "<leader>w", "Manage windows", "<C-w>")
+mapkey("n", "<C-w>S", "Open new horizontally", ":new<cr>")
+mapkey("n", "<leader>wS", "Open new horizontally", ":new<cr>")
+mapkey("n", "<C-w>V", "Open new vertically", ":vnew<cr>")
+mapkey("n", "<leader>wV", "Open new vertically", ":vnew<cr>")
+
+-- Sessions
+mapkey("n", "<leader>m", "Manage sessions", "")
+mapkey("n", "<leader>mm", "Open session picker", ":Autosession search<cr>")
+mapkey("n", "<leader>md", "Delete a session", ":Autosession delete<cr>")
+
+-- Terminals
+mapkey("n", "<leader>c", "Manage terminals", "")
+mapkey("n", "<leader>cc", "Toggle terminal", ":lua Snacks.terminal.toggle()<cr>")
+mapkey("n", "<leader>co", "Open new terminal", ":lua Snacks.terminal.open()<cr>")
+
+-- Git
+mapkey("n", "<leader>g", "Manage git", "")
+mapkey("n", "<leader>gg", "Open lazygit", ":lua Snacks.lazygit()<cr>")
+mapkey("n", "<leader>ga", "Add the current file", ":Git add %<cr>")
+mapkey("n", "<leader>gs", "Open git status picker", ":lua Snacks.picker.git_status()<cr>")
+
+-- Other leader keys
+mapkey("n", "<leader>e", "Open file manager", ":lua MiniFiles.open()<cr>")
+
+-- QOL Keys
+mapkey("t", "<Esc><Esc>", "Exit terminal insert mode", "<C-\\><C-n>")
+vim.keymap.set("c", "<cr>", function()
+ if vim.fn.pumvisible() == 1 then return '<c-y>' end
+ return '<cr>'
+end, { expr = true }) -- Make enter complete command.
+mapkey("n", "<esc>", "Clear highlights", ":noh<cr>") -- Make esc clear highlights
+
+-- Newline in normal mode.
+mapkey('n', '<CR>', "Add newline below", 'm`o<Esc>``')
+mapkey('n', '<S-CR>', "Add newline above", 'm`O<Esc>``')
+
+-- Really delete
+mapkey({"n", "v"}, "<leader>d", "Really delete", [["_d]])
+mapkey({"n", "v"}, "<leader>x", "Really delete character", [["_x]])
+
+-- Visual Movement Keys.
+mapkey({"n", "v"}, "j", "Go down visually", "gj")
+mapkey({"n", "v"}, "k", "Go up visually", "gk")
+
+-- Exit neovim
+mapkey("n", "<leader>q", "Save and exit neovim", function()
+ vim.cmd("wa!")
+ vim.cmd("qa!")
+end)
+
+mapkey("n", "<leader>Q", "Exit neovim", function()
+ vim.cmd("qa!")
+end)
+
+-- Dimming
+mapkey("n", "<leader>u", "Toggle scope dimming", function()
+ if Snacks.dim.enabled then
+ Snacks.dim.disable()
+ else
+ Snacks.dim.enable()
+ end
+end)