nvde/lua/config/bindings.lua

65 lines
3.8 KiB
Lua

--tab navigation
vim.keymap.set("n", "<A-1>", "1gt")
vim.keymap.set("n", "<A-2>", "2gt")
vim.keymap.set("n", "<A-3>", "3gt")
vim.keymap.set("n", "<A-4>", "4gt")
vim.keymap.set("n", "<A-5>", "5gt")
vim.keymap.set("n", "<A-6>", "6gt")
vim.keymap.set("n", "<A-7>", "7gt")
vim.keymap.set("n", "<A-8>", "8gt")
vim.keymap.set("n", "<A-9>", "9gt")
vim.keymap.set("n", "<A-0>", ":tablast<cr>")
vim.keymap.set("n", "<C-t>", ":tab new<cr>")
--move between splits with hjkl
vim.keymap.set("n", "<A-l>", ":wincmd l<cr>")
vim.keymap.set("n", "<A-k>", ":wincmd k<cr>")
vim.keymap.set("n", "<A-j>", ":wincmd j<cr>")
vim.keymap.set("n", "<A-h>", ":wincmd h<cr>")
--misc
vim.keymap.set("n", "<C-w>", ":q<cr>") --ctrl+w shortcut of :q
vim.keymap.set("n", "<C-n>", ":NvimTreeToggle<cr>") --open file tree
vim.keymap.set("n", "<A-cr>", ":tabnew +term<cr>") --create terminal in new tab
vim.keymap.set("t", "<Esc>", "<C-\\><C-n>") --exit terminal mode with esc
vim.keymap.set("n", "<A-ESC>", ":tabnew | terminal htop<cr>") --open htop in new tab
vim.keymap.set("n", "<A-t>", ":tabnew | terminal termusic<cr>") --open termusic (a music player) in new tab
vim.keymap.set("n", "<A-m>", ":tabnew | terminal gomuks<cr>") --open gomuks (a matrix client) in new tab
vim.keymap.set("n", "<A-V>", ":split new<cr>") --create a new split
vim.keymap.set("n", "<A-v>", ":vs new<cr>") --create a vplit
--latex
vim.g.vimtex_mappings_enabled = 0 --stops vimtex from overwriting userdefined bindings
vim.keymap.set("n", " l", "<Cmd>update<CR><Cmd>VimtexCompile<CR>", {desc = "Vimtex compile"})
vim.keymap.set({"n", "x"}, " L", "<Cmd>update<CR><Cmd>VimtexCompileSelected<CR>", {desc = "Vimtex compile selected"})
vim.keymap.set("n", " i", "<Cmd>VimtexInfo<CR>", {desc = "Vimtex info"})
vim.keymap.set("n", " I", "<Cmd>VimtexInfo!<CR>", {desc = "Vimtex info full"})
--vim.keymap.set("n", " t", "<Cmd>VimtexTocOpen<CR>", {desc = "Vimtex TOC"})
vim.keymap.set("n", " T", "<Cmd>VimtexTocToggle<CR>", {desc = "Vimtex toggle TOC"})
vim.keymap.set("n", " q", "<Cmd>VimtexLog<CR>", {desc = "Vimtex log"})
vim.keymap.set("n", " v", "<Cmd>VimtexView<CR>", {desc = "Vimtex view"})
vim.keymap.set("n", " r", "<plug>(Vimtex-reverse-search)", {desc = "Vimtex reverse search"})
vim.keymap.set("n", " k", "<Cmd>VimtexStop<CR>", {desc = "Vimtex stop"})
vim.keymap.set("n", " K", "<Cmd>VimtexStopAll<CR>", {desc = "Vimtex stop all"})
vim.keymap.set("n", " e", "<Cmd>VimtexErrors<CR>", {desc = "Vimtex errors"})
vim.keymap.set("n", " o", "<Cmd>VimtexCompileOutput<CR>", {desc = "Vimtex compille output"})
vim.keymap.set("n", " g", "<Cmd>VimtexStatus<CR>", {desc = "Vimtex status"})
vim.keymap.set("n", " G", "<Cmd>VimtexStatus!<CR>", {desc = "Vimtex full status"})
vim.keymap.set("n", " c", "<Cmd>VimtexClean<CR>", {desc = "Vimtex clean"})
vim.keymap.set("n", " C", "<Cmd>VimtexClean!<CR>", {desc = "Vimtex full clean"})
vim.keymap.set("n", " x", "<Cmd>VimtexReload<CR>", {desc = "Vimtex reload"})
vim.keymap.set("n", " X", "<Cmd>VimtexReloadState<CR>", {desc = "Vimtex reload state"})
vim.keymap.set("n", " m", "<Cmd>VimtexImapsList<CR>", {desc = "Vimtex input maps list"})
vim.keymap.set("n", " s", "<Cmd>VimtexToggleMain<CR>", {desc = "Vimtex toggle main"})
vim.keymap.set("n", " a", "<Cmd>VimtexContextMenu<CR>", {desc = "Vimtex context menu"})
--dvorak
vim.keymap.set({"n","v","o"}, "h", "h", {desc = "Right"})
vim.keymap.set({"n","v","o"}, "t", "j", {desc = "Down"})
vim.keymap.set({"n","v","o"}, "n", "k", {desc = "Up"})
vim.keymap.set({"n","v","o"}, "s", "l", {desc = "Left"})
vim.keymap.set({"n","v","o"}, "l", "n", {desc = "Next"})
vim.keymap.set({"n","v","o"}, "L", "N", {desc = "Last"})
vim.keymap.set("n", "<A-s>", ":wincmd l<cr>")
vim.keymap.set("n", "<A-n>", ":wincmd k<cr>")
vim.keymap.set("n", "<A-t>", ":wincmd j<cr>")
vim.keymap.set("n", "<A-h>", ":wincmd h<cr>")