summaryrefslogtreecommitdiff
path: root/lua/config/map.lua
diff options
context:
space:
mode:
authorRaymaekers Luca <raymaekers.luca@gmail.com>2024-09-16 18:06:11 +0200
committerRaymaekers Luca <raymaekers.luca@gmail.com>2024-09-16 18:06:14 +0200
commit5c7dffe3782c18e0d47f5753a8c30a0cd1b6e352 (patch)
tree014587936dad9819fdb259fc255daa10e2d80379 /lua/config/map.lua
parent7dcd592eae886dc8edde2dc65d6e6323201a2aaf (diff)
checkpoint
- made keybinds more logical with prefixes - renamed user to config - updated to-do's - added rounded borders on floating windows - added vim-eunuch - added telescope-symbols
Diffstat (limited to 'lua/config/map.lua')
-rw-r--r--lua/config/map.lua83
1 files changed, 83 insertions, 0 deletions
diff --git a/lua/config/map.lua b/lua/config/map.lua
new file mode 100644
index 0000000..230588f
--- /dev/null
+++ b/lua/config/map.lua
@@ -0,0 +1,83 @@
+local map = vim.keymap.set
+
+-- Leader
+vim.g.mapleader = " "
+vim.g.maplocalleader = ","
+
+-- open config
+map("n", " c", function()
+ vim.cmd("cd ~/.config/nvim")
+ vim.cmd("e " .. "init.lua")
+end, { desc = "Open neovim config file" })
+-- Move text easilly
+map("v", "J", ":m '>+1<CR>gv=gv", { desc = "Move selected text up" })
+map("v", "K", ":m '<-2<CR>gv=gv", { desc = "Move selected text down" })
+
+-- better find next and previous
+map("n", "n", "nzzzv", { desc = "Keep cursor in middle with search" })
+map("n", "N", "Nzzzv", { desc = "Keep cursor in middle with search" })
+
+map("n", "J", "mzJ`z", { desc = "Move up next line with space in between" })
+
+-- greatest remap ever
+map("x", "<leader>p", [["_dP]], { desc = "Paste while keeping the registry" })
+
+-- moving
+map("i", "<C-a>", "<C-o>I", { noremap = true })
+map("i", "<C-e>", "<C-o>A", { noremap = true })
+map("i", "<C-k>", "<C-o>D", { noremap = true })
+
+-- buffers
+map("n", "<leader>sp", "<cmd>sp<cr>", { desc = "Open horizontal split" })
+map("n", "<leader>vs", "<cmd>vs<cr>", { desc = "Open vertical split" })
+map("n", "gb", "<cmd>buffers<cr>:buffer<Space>", { noremap = true })
+map("n", "<Leader>q", "<cmd>q!<cr>", { noremap = true })
+map("n", "<Leader>Q", "<cmd>qa!<cr>", { noremap = true })
+-- close all except focused buffer
+map("n", "<leader>1", "<cmd>%bd|e#<cr>", { noremap = true })
+-- next tab
+map("n", "+", "<cmd>tabe .<cr>", { noremap = true })
+
+-- better indenting
+map("v", "<", "<gv")
+map("v", ">", ">gv")
+
+-- allow for use of system clipboard fast
+map({ "n", "v" }, "<leader>y", [["+y]])
+map("n", "<leader>Y", [["+Y]])
+map({ "n", "v" }, "<leader>P", [["+p]])
+
+map({ "n", "v" }, "<leader>d", [["_d]])
+
+-- templates
+map("n", "<LocalLeader>rt", ":-1r " .. vim.fn.stdpath("config") .. "/templates", { noremap = true })
+
+-- hide all
+local s = { hidden_all = 0 }
+map("n", "<C-h>", function()
+ s.hidden_all = 1 - s.hidden_all
+ local opt = s.hidden_all == 0
+ vim.opt.showmode = opt
+ vim.opt.ruler = opt
+ vim.opt.nu = opt
+ vim.opt.rnu = opt
+ vim.opt.showcmd = opt
+ vim.opt.laststatus = opt and 2 or 0
+ vim.opt.signcolumn = opt and "yes" or "no"
+end, { noremap = true })
+
+-- write
+map("n", "<Leader>w", "<cmd>write<cr>", { noremap = true })
+map("n", "<Leader>W", "<cmd>write!<cr>", { noremap = true })
+map("n", "<Leader>e", "<cmd>edit<cr>", { noremap = true })
+map("n", "<LocalLeader>s", function()
+ vim.cmd.source()
+ print("sourced.")
+end, { noremap = true })
+
+-- Lazy
+map("n", "<Leader>P", "<cmd>Lazy<cr>", { noremap = true })
+
+-- spelling
+map("n", "<C-s>s", "<cmd>setlocal spell!<cr>", { noremap = true })
+map("n", "<C-s>g", "z=1<cr><cr>", { noremap = true })