2023-07-15 14:51:44 +00:00
|
|
|
-- [[ Basic Keymaps ]]
|
|
|
|
|
|
|
|
-- Keymaps for better default experience
|
|
|
|
-- See `:help vim.keymap.set()`
|
|
|
|
vim.keymap.set({ 'n', 'v' }, '<Space>', '<Nop>', { silent = true })
|
|
|
|
|
|
|
|
-- Remap for dealing with word wrap
|
|
|
|
vim.keymap.set('n', 'k', "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true })
|
|
|
|
vim.keymap.set('n', 'j', "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true })
|
|
|
|
|
|
|
|
-- [[ Highlight on yank ]]
|
|
|
|
-- See `:help vim.highlight.on_yank()`
|
|
|
|
local highlight_group = vim.api.nvim_create_augroup('YankHighlight', { clear = true })
|
|
|
|
vim.api.nvim_create_autocmd('TextYankPost', {
|
|
|
|
callback = function()
|
|
|
|
vim.highlight.on_yank()
|
|
|
|
end,
|
|
|
|
group = highlight_group,
|
|
|
|
pattern = '*',
|
|
|
|
})
|
|
|
|
|
|
|
|
-- other maps
|
|
|
|
vim.keymap.set('n', '<leader>mm', vim.cmd.Ex)
|
|
|
|
|
|
|
|
-- ctags keymap
|
|
|
|
vim.keymap.set('n', '<C-\\>', ':tab split<CR>:exec("tag ".expand("<cword>"))<CR>')
|
|
|
|
vim.keymap.set('n', '<A-]>', ':vsp <CR>:exec("tag ".expand("<cword>"))<CR>')
|
|
|
|
|
|
|
|
-- build keymap
|
|
|
|
vim.keymap.set('n', '<C-b>', ':!./build.sh<CR><CR>')
|
|
|
|
vim.keymap.set('n', '<A-b>', ':!./build.sh<CR>')
|
|
|
|
|
|
|
|
-- scroll keymap
|
2023-07-15 16:26:16 +00:00
|
|
|
vim.keymap.set('n', '<c-up>', '<c-u>zz')
|
|
|
|
vim.keymap.set('n', '<c-down>', '<c-d>zz')
|
2023-07-15 14:51:44 +00:00
|
|
|
|
|
|
|
-- Diagnostic keymaps
|
|
|
|
vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, { desc = "Go to previous diagnostic message" })
|
|
|
|
vim.keymap.set('n', ']d', vim.diagnostic.goto_next, { desc = "Go to next diagnostic message" })
|
|
|
|
vim.keymap.set('n', '<leader>e', vim.diagnostic.open_float, { desc = "Open floating diagnostic message" })
|
|
|
|
vim.keymap.set('n', '<leader>q', vim.diagnostic.setloclist, { desc = "Open diagnostics list" })
|
2023-07-15 16:26:16 +00:00
|
|
|
|
|
|
|
vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv")
|
|
|
|
vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv")
|
|
|
|
|
|
|
|
vim.keymap.set("n", "J", "mzJ`z")
|
|
|
|
vim.keymap.set("n", "n", "nzzzv")
|
|
|
|
vim.keymap.set("n", "N", "Nzzzv")
|
|
|
|
|
|
|
|
-- greatest remap ever
|
|
|
|
vim.keymap.set("x", "<leader>p", [["_dP]])
|
|
|
|
|
|
|
|
-- next greatest remap ever : asbjornHaland
|
|
|
|
vim.keymap.set({ "n", "v" }, "<leader>y", [["+y]])
|
|
|
|
vim.keymap.set("n", "<leader>Y", [["+Y]])
|
|
|
|
|
|
|
|
vim.keymap.set({ "n", "v" }, "<leader>d", [["_d]])
|
|
|
|
|
|
|
|
-- This is going to get me cancelled
|
|
|
|
vim.keymap.set("i", "<C-c>", "<Esc>")
|
|
|
|
|
|
|
|
vim.keymap.set("n", "Q", "<nop>")
|
|
|
|
vim.keymap.set("n", "<leader>f", vim.lsp.buf.format)
|
|
|
|
|
|
|
|
vim.keymap.set("n", "<C-k>", "<cmd>cnext<CR>zz")
|
|
|
|
vim.keymap.set("n", "<C-j>", "<cmd>cprev<CR>zz")
|
|
|
|
vim.keymap.set("n", "<leader>k", "<cmd>lnext<CR>zz")
|
|
|
|
vim.keymap.set("n", "<leader>j", "<cmd>lprev<CR>zz")
|
|
|
|
|
|
|
|
vim.keymap.set("n", "<leader>x", "<cmd>!chmod +x %<CR>", { silent = true })
|