diff options
| author | Your Name <you@example.com> | 2024-07-03 17:03:56 +0100 |
|---|---|---|
| committer | Your Name <you@example.com> | 2024-07-03 17:03:56 +0100 |
| commit | c959b2112fb4c82b5bfd410df21706455225bd40 (patch) | |
| tree | 6774868448d127c2f560827de8e5edbd868a2832 /lua/config/keymaps.lua | |
Diffstat (limited to 'lua/config/keymaps.lua')
| -rw-r--r-- | lua/config/keymaps.lua | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/lua/config/keymaps.lua b/lua/config/keymaps.lua new file mode 100644 index 0000000..01f5d9b --- /dev/null +++ b/lua/config/keymaps.lua @@ -0,0 +1,91 @@ +Leader = "," +LocalLeader = "<Leader>" +-- Shorten function name +local km = vim.keymap.set +-- Silent keymap option +local opts = { silent = true } + +-- Modes +-- normal_mode = "n", +-- insert_mode = "i", +-- visual_mode = "v", +-- visual_block_mode = "x", +-- term_mode = "t", +-- command_mode = "c", + +-- Normal -- + +-- Better window navigation +km("n", "<C-h>", "<C-w>h", opts) +km("n", "<C-j>", "<C-w>j", opts) +km("n", "<C-k>", "<C-w>k", opts) +km("n", "<C-l>", "<C-w>l", opts) + +-- Resize with arrows +km("n", "<C-Up>", ":resize -2<CR>", opts) +km("n", "<C-Down>", ":resize +2<CR>", opts) +km("n", "<C-Left>", ":vertical resize -2<CR>", opts) +km("n", "<C-Right>", ":vertical resize +2<CR>", opts) + +-- Navigate buffers +km("n", "<S-l>", ":bnext<CR>", opts) +km("n", "<S-h>", ":bprevious<CR>", opts) + +-- Clear highlights +km("n", "<leader>h", "<cmd>nohlsearch<CR>", opts) + +-- Close buffers +km("n", "<S-q>", "<cmd>Bdelete!<CR>", opts) + +-- Better paste +km("v", "p", '"_dP', opts) + +-- Insert -- +-- Press jk fast to enter +km("i", "jk", "<ESC>", opts) + +-- Visual -- +-- Stay in indent mode +km("v", "<", "<gv", opts) +km("v", ">", ">gv", opts) + +-- Plugins -- + +-- NvimTree +km("n", "<leader>e", ":NvimTreeToggle<CR>", opts) + +-- Oil +km("n", "-", "<CMD>Oil<CR>", { desc = "Open parent directory"}, opts) + +-- Telescope +km("n", "<leader>ff", ":Telescope find_files<CR>", opts) +km("n", "<leader>ft", ":Telescope live_grep<CR>", opts) +km("n", "<leader>fp", ":Telescope projects<CR>", opts) +km("n", "<leader>fb", ":Telescope buffers<CR>", opts) + +-- Git +km("n", "<leader>gg", "<cmd>lua _LAZYGIT_TOGGLE()<CR>", opts) + +-- Comment +km("n", "<leader>/", "<cmd>lua require('Comment.api').toggle_current_linewise()<CR>", opts) +km("x", "<leader>/", '<ESC><CMD>lua require("Comment.api").toggle_linewise_op(vim.fn.visualmode())<CR>') + +-- DAP +km("n", "<leader>db", "<cmd>lua require'dap'.toggle_breakpoint()<cr>", opts) +km("n", "<leader>dc", "<cmd>lua require'dap'.continue()<cr>", opts) +km("n", "<leader>di", "<cmd>lua require'dap'.step_into()<cr>", opts) +km("n", "<leader>do", "<cmd>lua require'dap'.step_over()<cr>", opts) +km("n", "<leader>dO", "<cmd>lua require'dap'.step_out()<cr>", opts) +km("n", "<leader>dr", "<cmd>lua require'dap'.repl.toggle()<cr>", opts) +km("n", "<leader>dl", "<cmd>lua require'dap'.run_last()<cr>", opts) +km("n", "<leader>du", "<cmd>lua require'dapui'.toggle()<cr>", opts) +km("n", "<leader>dt", "<cmd>lua require'dap'.terminate()<cr>", opts) + +-- Terminal +-- Better terminal navigation +km("t", "<C-h>", "<C-\\><C-N><C-w>h", opts) +km("t", "<C-j>", "<C-\\><C-N><C-w>j", opts) +km("t", "<C-k>", "<C-\\><C-N><C-w>k", opts) +km("t", "<C-l>", "<C-\\><C-N><C-w>l", opts) +km("v", "<leader>tp", ":ToggleTermSendVisualSelection <CR>", opts) + |
