From 0111b31cb0008f4fcc55ddc373e63f124652b156 Mon Sep 17 00:00:00 2001 From: Gustaf Rydholm Date: Wed, 7 Jul 2021 01:05:06 +0200 Subject: Updated config based on Chris LunarVim release --- .config/nvim/lua/keymappings.lua | 78 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 .config/nvim/lua/keymappings.lua (limited to '.config/nvim/lua/keymappings.lua') diff --git a/.config/nvim/lua/keymappings.lua b/.config/nvim/lua/keymappings.lua new file mode 100644 index 0000000..3b6a95a --- /dev/null +++ b/.config/nvim/lua/keymappings.lua @@ -0,0 +1,78 @@ +-- better window movement +vim.api.nvim_set_keymap("n", "", "h", { silent = true }) +vim.api.nvim_set_keymap("n", "", "j", { silent = true }) +vim.api.nvim_set_keymap("n", "", "k", { silent = true }) +vim.api.nvim_set_keymap("n", "", "l", { silent = true }) + +-- TODO fix this +-- Terminal window navigation +vim.cmd [[ + tnoremap h + tnoremap j + tnoremap k + tnoremap l + inoremap h + inoremap j + inoremap k + inoremap l + tnoremap +]] + +-- TODO fix this +-- resize with arrows +if vim.fn.has("mac") == 1 then + vim.api.nvim_set_keymap("n", "", ":resize -2", { silent = true }) + vim.api.nvim_set_keymap("n", "", ":resize +2", { silent = true }) + vim.api.nvim_set_keymap("n", "", ":vertical resize -2", { silent = true }) + vim.api.nvim_set_keymap("n", "", ":vertical resize +2", { silent = true }) +else + vim.api.nvim_set_keymap("n", "", ":resize -2", { silent = true }) + vim.api.nvim_set_keymap("n", "", ":resize +2", { silent = true }) + vim.api.nvim_set_keymap("n", "", ":vertical resize -2", { silent = true }) + vim.api.nvim_set_keymap("n", "", ":vertical resize +2", { silent = true }) +end + +-- better indenting +vim.api.nvim_set_keymap("v", "<", "", ">gv", { noremap = true, silent = true }) + +-- I hate escape +vim.api.nvim_set_keymap("i", "jk", "", { noremap = true, silent = true }) +vim.api.nvim_set_keymap("i", "kj", "", { noremap = true, silent = true }) +vim.api.nvim_set_keymap("i", "jj", "", { noremap = true, silent = true }) + +-- Tab switch buffer +vim.api.nvim_set_keymap("n", "", ":bnext", { noremap = true, silent = true }) +vim.api.nvim_set_keymap("n", "", ":bprevious", { noremap = true, silent = true }) + +-- Move selected line / block of text in visual mode +vim.api.nvim_set_keymap("x", "K", ":move '<-2gv-gv", { noremap = true, silent = true }) +vim.api.nvim_set_keymap("x", "J", ":move '>+1gv-gv", { noremap = true, silent = true }) + +-- Move current line / block with Alt-j/k ala vscode. +vim.api.nvim_set_keymap("n", "", ":m .+1==", { noremap = true, silent = true }) +vim.api.nvim_set_keymap("n", "", ":m .-2==", { noremap = true, silent = true }) +vim.api.nvim_set_keymap("i", "", ":m .+1==gi", { noremap = true, silent = true }) +vim.api.nvim_set_keymap("i", "", ":m .-2==gi", { noremap = true, silent = true }) +vim.api.nvim_set_keymap("x", "", ":m '>+1gv-gv", { noremap = true, silent = true }) +vim.api.nvim_set_keymap("x", "", ":m '<-2gv-gv", { noremap = true, silent = true }) + +-- QuickFix +vim.api.nvim_set_keymap("n", "]q", ":cnext", { noremap = true, silent = true }) +vim.api.nvim_set_keymap("n", "[q", ":cprev", { noremap = true, silent = true }) + +-- Better nav for omnicomplete +vim.cmd 'inoremap ("\\")' +vim.cmd 'inoremap ("\\")' + +vim.cmd 'vnoremap p "0p' +vim.cmd 'vnoremap P "0P' + +-- Toggle the QuickFix window +vim.api.nvim_set_keymap("", "", ":call QuickFixToggle()", { noremap = true, silent = true }) + +-- Telescope stuff +-- vim.api.nvim_set_keymap("n", "fb", "lua require'telescope.builtin'.buffers{}", { noremap = true, silent = true }) -- search open buffers +-- vim.api.nvim_set_keymap("n", "fl", "lua require'telescope.builtin'.current_buffer_fuzzy_find{}", { noremap = true, silent = true }) -- search lines in current buffer +-- vim.api.nvim_set_keymap("n", "gg", "lua require'telescope.builtin'.live_grep{}", { noremap = true, silent = true }) -- search all lines in project +-- vim.api.nvim_set_keymap("n", "fr", "lua require'telescope.builtin'.lsp_references{}", { noremap = true, silent = true }) -- search references to symbol under cursor -- cgit v1.2.3-70-g09d2