-- remaps -- leaderkey vim.keymap.set("n", "<Space>", "", {}) vim.g.mapleader = " " -- movements in commandmode vim.api.nvim_set_keymap("c", "<C-h>", "<Left>", {}) vim.api.nvim_set_keymap("c", "<C-l>", "<Right>", {}) vim.api.nvim_set_keymap("c", "<C-j>", "<Down>", {}) vim.api.nvim_set_keymap("c", "<C-k>", "<Up>", {}) -- split switching vim.api.nvim_set_keymap("n", "<C-h>", "<C-w>h", {}) vim.api.nvim_set_keymap("n", "<C-j>", "<C-w>j", {}) vim.api.nvim_set_keymap("n", "<C-k>", "<C-w>k", {}) vim.api.nvim_set_keymap("n", "<C-l>", "<C-w>l", {}) -- buffer operations vim.api.nvim_set_keymap("n", "<leader><tab>", "<C-^>", {}) vim.api.nvim_set_keymap("n", "<leader>bd", "<cmd>bd<cr>", {}) vim.api.nvim_set_keymap("n", "<S-h>", "<cmd>bprevious<cr>", {}) vim.api.nvim_set_keymap("n", "<S-l>", "<cmd>bnext<cr>", {}) -- moving visual blocks vim.api.nvim_set_keymap("v", "J", ":m '>+1<cr>gv=gv", {}) vim.api.nvim_set_keymap("v", "K", ":m '<-2<cr>gv=gv", {}) -- delete without overwriting the '+'-register vim.api.nvim_set_keymap("n", "<leader>d", "\"_d", {}) vim.api.nvim_set_keymap("v", "<leader>d", "\"_d", {}) -- copy to system clipboard vim.api.nvim_set_keymap("n", "<leader>y", "\"+y", {}) vim.api.nvim_set_keymap("v", "<leader>y", "\"+y", {}) vim.api.nvim_set_keymap("n", "<leader>Y", "\"+Y", {}) -- paste from system clipboard vim.api.nvim_set_keymap("n", "<leader>p", "\"+p", {}) -- make current file (un)executable vim.api.nvim_set_keymap("n", "<leader>mx", ":exec 'w'<cr> <bar> <cmd>!chmod +x %<cr>", { silent = true }) vim.api.nvim_set_keymap("n", "<leader>mX", ":exec 'w'<cr> <bar> <cmd>!chmod -x %<cr>", { silent = true }) -- mk- and loadview for view-persistance vim.api.nvim_set_keymap("n", "<leader>vm", ":exec 'w'<cr> <bar> <cmd>mkview <cr>", {silent = true}) vim.api.nvim_set_keymap("n", "<leader>vl", ":exec 'w'<cr> <bar> <cmd>loadview <cr>", {silent = true}) -- <leader><leader> for fast save vim.api.nvim_set_keymap("n", "<leader><leader>", ":exec 'w'<cr>", {silent = true}) -- <leader>r for redo vim.api.nvim_set_keymap("n", "<leader>r", ":redo <cr>", {silent = true})