config/.config/nvim/lua/lazyvim/config/keymaps.lua

63 lines
2.1 KiB
Lua

local opts = { noremap = true, silent = true }
local map = vim.api.nvim_set_keymap
-- better up/down
map("n", "j", "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true })
map("n", "k", "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true })
-- Move text up and down
map("n", "<C-k>", "<ESC>:m .-2<CR>==", opts)
map("n", "<C-j>", "<ESC>:m .+1<CR>==", opts)
-- Move Lines
map("n", "<C-j>", ":m .+1<CR>==", { desc = "Move down" })
map("v", "<C-j>", ":m '>+1<CR>gv=gv", { desc = "Move down" })
map("i", "<C-j>", "<Esc>:m .+1<CR>==gi", { desc = "Move down" })
map("n", "<C-k>", ":m .-2<CR>==", { desc = "Move up" })
map("v", "<C-k>", ":m '<-2<CR>gv=gv", { desc = "Move up" })
map("i", "<C-k>", "<Esc>:m .-2<CR>==gi", { desc = "Move up" })
-- Clear search with <esc>
map("n", "<esc>", "<cmd>noh<cr><esc>", opts)
map("i", "<esc>", "<cmd>noh<cr><esc>", opts)
-- https://github.com/mhinz/vim-galore#saner-behavior-of-n-and-n
map("n", "n", "'Nn'[v:searchforward]", { expr = true, desc = "Next search result" })
map("x", "n", "'Nn'[v:searchforward]", { expr = true, desc = "Next search result" })
map("o", "n", "'Nn'[v:searchforward]", { expr = true, desc = "Next search result" })
map("n", "N", "'nN'[v:searchforward]", { expr = true, desc = "Prev search result" })
map("x", "N", "'nN'[v:searchforward]", { expr = true, desc = "Prev search result" })
map("o", "N", "'nN'[v:searchforward]", { expr = true, desc = "Prev search result" })
-- Copy/Paste
map("n", "<C-y>", '"+y', opts)
map("n", "<C-p>", '"+p', opts)
-- Save
map("n", "<C-s>", ":w<CR>", opts)
-- Switch between buffers
map("n", "<S-l>", ":bnext<CR>", opts)
map("n", "<S-h>", ":bprevious<CR>", opts)
-- center after up and down movements
map("n", "<C-u>", "<C-u>zz", opts)
map("n", "<C-d>", "<C-d>zz", opts)
-- Easy exit insert mode
map("i", "jk", "<ESC>", opts)
-- Save
map("i", "<C-s>", "<ESC>:w<CR>a", opts)
-- Indenting
map("v", "<", "<gv", opts)
map("v", ">", ">gv", opts)
-- Move text up and down
map("v", "<C-j>", ":m .+1<CR>==<ESC>V", opts)
map("v", "<C-k>", ":m .-2<CR>==<ESC>V", opts)
map("t", "<esc><esc>", "<c-\\><c-n>", { desc = "Enter Normal Mode" })