123 lines
4.5 KiB
Lua
Executable File
123 lines
4.5 KiB
Lua
Executable File
vim.g.mapleader = " "
|
|
|
|
local keymap = vim.keymap
|
|
|
|
-- Modes
|
|
--
|
|
-- "n" = normal mode
|
|
-- "i" = insert mode
|
|
-- "v" = visual mode
|
|
-- "x" = visual block mode
|
|
-- "t" = term mode
|
|
-- "c" = command mode
|
|
--
|
|
|
|
-- ----------------------------------------------------------------------------
|
|
-- Normal
|
|
-- ----------------------------------------------------------------------------
|
|
-- Window splitting
|
|
keymap.set( "n", "<leader>sv", "<C-w>v" ) -- split widow vertically
|
|
keymap.set( "n", "<leader>sh", "<C-w>s" ) -- split widow horizontaly
|
|
keymap.set( "n", "<leader>se", "<C-w>=" ) -- make split windows equal width
|
|
keymap.set( "n", "<leader>sx", ":close<CR>" ) -- close window
|
|
-- keymap.set( "n", "<leader>sm", ":MaximizerToggle<CR>" )
|
|
keymap.set( "n", "<leader>sm", '<cmd>lua require("maximizer").toggle()<CR>', {silent = true, noremap = true})
|
|
-- keymap.set('n', 'mm', '<cmd>lua require("maximizer").maximize()<CR>', {silent = true, noremap = true})
|
|
-- keymap.set('n', 'mr', '<cmd>lua require("maximizer").restore()<CR>', {silent = true, noremap = true})
|
|
--
|
|
|
|
-- Window navigation
|
|
keymap.set( "n", "<C-h>", "<C-w>h")
|
|
keymap.set( "n", "<C-j>", "<C-w>j")
|
|
keymap.set( "n", "<C-k>", "<C-w>k")
|
|
keymap.set( "n", "<C-l>", "<C-w>l")
|
|
|
|
--
|
|
-- Insert date
|
|
--
|
|
keymap.set( "n", "<leader><leader>d", ":pu=strftime('%Y-%m-%d')<CR>" )
|
|
|
|
--
|
|
--
|
|
--
|
|
--keymap.set( "n", "<leader><leader>f", ":toggle-fullscreen<CR>" )
|
|
-- Resize window with arrows
|
|
-- keymap.set( "n", "<A-h>", ":vertical resize -2<cr>")
|
|
-- keymap.set( "n", "<A-l>", ":vertical resize +2<cr>")
|
|
-- keymap.set( "n", "<A-k>", ":resize +2<cr>")
|
|
-- keymap.set( "n", "<A-j>", ":resize -2<cr>")
|
|
|
|
-- keymap.set( "n", "<leader>e", ":Lex 30 <cr>")
|
|
|
|
-- Buffers
|
|
keymap.set( "n", "<S-l>", ":bnext<cr>" ) -- next buffer
|
|
keymap.set( "n", "<S-h>", ":bprevious<cr>" ) -- prev buffer
|
|
keymap.set( "n", "<C-w>", ":bd<CR>" ) -- delete buffer
|
|
|
|
-- TABs
|
|
keymap.set( "n", "<leader>to", ":tabnew<CR>" ) -- open new tab
|
|
keymap.set( "n", "<leader>tx", ":tabclose<CR>" ) -- close current tab
|
|
keymap.set( "n", "<leader>tn", ":tabn<CR>" ) -- go to next tab
|
|
keymap.set( "n", "<leader>tp", ":tabp<CR>" ) -- go to prev tab
|
|
|
|
-- diagnostic warning/error navigation
|
|
keymap.set( "n", "g[", vim.diagnostic.goto_prev)
|
|
keymap.set( "n", "g]", vim.diagnostic.goto_next)
|
|
|
|
--
|
|
keymap.set( "n", ",", "*" ) -- due to HUN keybard, the * hard to access:
|
|
|
|
|
|
|
|
-- ----------------------------------------------------------------------------
|
|
-- Insert mode
|
|
-- ----------------------------------------------------------------------------
|
|
keymap.set("i", "jk", "<ESC>")
|
|
|
|
-- ----------------------------------------------------------------------------
|
|
-- Visual mode
|
|
-- ----------------------------------------------------------------------------
|
|
-- Stay in indent mode
|
|
keymap.set("v", "<", "<gv")
|
|
keymap.set("v", ">", ">gv")
|
|
|
|
-- Visual Block --
|
|
keymap.set("v", "<A-j>", ":m .+1<CR>==")
|
|
keymap.set("v", "<A-k>", ":m .-2<CR>==")
|
|
keymap.set("v", "p", '"_dP')
|
|
|
|
-- Move text up and down
|
|
keymap.set( "x", "J", ":move '>+1<CR>gv-gv")
|
|
keymap.set( "x", "K", ":move '<-2<CR>gv-gv")
|
|
keymap.set( "x", "<A-j>", ":move '>+1<CR>gv-gv")
|
|
keymap.set( "x", "<A-k>", ":move '<-2<CR>gv-gv")
|
|
|
|
|
|
-- Terminal --
|
|
-- Better terminal navigation
|
|
keymap.set( "t", "<C-h>", "<C-\\><C-N><C-w>h")
|
|
keymap.set( "t", "<C-j>", "<C-\\><C-N><C-w>j")
|
|
keymap.set( "t", "<C-k>", "<C-\\><C-N><C-w>k")
|
|
keymap.set( "t", "<C-l>", "<C-\\><C-N><C-w>l")
|
|
|
|
keymap.set("n", "<leader>nh", ":nohl<CR>")
|
|
keymap.set("n", "x", '"_x"')
|
|
|
|
keymap.set("n", "<C-TAB>", ":tabn<CR>") -- go to next tab
|
|
keymap.set("n", "<C-S-TAB>", ":tabp<CR>") -- go to prev tab
|
|
-- plugin keymaps
|
|
|
|
-- nvim-tree
|
|
keymap.set("n", "<leader>e", ":NvimTreeToggle<CR>")
|
|
|
|
-- telescope
|
|
--keymap.set("n", "<leader>ff", ":Telescope find_files<cr>" )
|
|
keymap.set("n", "<leader>ff", ":Files<cr>" )
|
|
keymap.set("n", "<leader>fs", ":Telescope live_grep<cr>" )
|
|
keymap.set("n", "<leader>fg", ":Rg<cr>")
|
|
keymap.set("n", "<leader>fb", ":Telescope buffers<cr>" )
|
|
keymap.set("n", "<leader>fh", ":Telescope help_tags<cr>" )
|
|
|
|
keymap.set("n", "<leader>x", "<cmd>lua require'telescope.builtin'.find_files(require('telescope.themes').get_dropdown({ previewer = false }))<cr>")
|
|
keymap.set("n", "<c-t>", "<cmd>Telescope live_grep<cr>")
|