-- set mapleader for hotkeys vim.g.mapleader = "," -- unmap unwanted commands vim.keymap.set({ 'n', 'i' }, '', '', { noremap = true }) vim.keymap.set('i', '', '', { noremap = true }) vim.keymap.set('i', '', '', { noremap = true }) vim.keymap.set('i', '', '', { noremap = true }) vim.keymap.set('i', '', '', { noremap = true }) vim.keymap.set('i', '', '', { noremap = true }) vim.keymap.set({ 'n', 'i' }, '', '', { noremap = true }) vim.keymap.set('i', '', '', { noremap = true }) vim.keymap.set({ 'n', 'i' }, '', '', { noremap = true }) vim.keymap.set({ 'n', 'i' }, '', '', { noremap = true }) vim.keymap.set({ 'n', 'i' }, '', '', { noremap = true }) vim.keymap.set({ 'n', 'i' }, '', '', { noremap = true }) -- shortcut for split navigation vim.keymap.set('n', '', 'h', { noremap = true }) vim.keymap.set('n', '', 'j', { noremap = true }) vim.keymap.set('n', '', 'k', { noremap = true }) vim.keymap.set('n', '', 'l', { noremap = true }) -- compiler for languages vim.keymap.set('n', 'c', ':w! | !compiler %', { noremap = true }) -- save file as sudo on files that require root permission vim.keymap.set('c', 'w!!', 'execute "silent! write !sudo tee % >/dev/null" edit!', { noremap = true }) -- alias for replacing vim.keymap.set('n', 'ss', ':%s//gI', { noremap = true }) -- irc compatibility for interactivity vim.keymap.set('n', 'is', ':.w >> indd', { noremap = true }) -- SmiteshP/nvim-navbuddy vim.keymap.set('n', '', ':Navbuddy', {}) -- nvim-tree/nvim-tree.lua vim.keymap.set('n', '', ':NvimTreeToggle toggle', {}) -- numtostr/fterm.nvim vim.keymap.set({ 'n', 't' }, 't', require("FTerm").toggle, { noremap = true }) local lazygit = require("FTerm"):new({ cmd = 'lazygit', }) vim.keymap.set({ 'n', 't' }, 'gt', function() lazygit:toggle() end) -- sindrets/diffview.nvim vim.keymap.set( 'n', 'gdo', ":DiffviewOpen") vim.keymap.set( 'n', 'gdc', ":DiffviewClose") -- folke/trouble.nvim vim.keymap.set( 'n', 'x', ":TroubleToggle") -- hrsh7th/nvim-cmp vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, { noremap = true }) vim.keymap.set('n', 'gd', vim.lsp.buf.definition, { noremap = true }) vim.keymap.set('n', 'gy', vim.lsp.buf.type_definition, { noremap = true }) vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, { noremap = true }) vim.keymap.set('n', 'gr', vim.lsp.buf.references, { noremap = true }) vim.keymap.set('n', 'K', vim.lsp.buf.hover, { noremap = true }) vim.keymap.set('n', '', vim.lsp.buf.format, { noremap = true }) -- filipdutescu/renamer.nvim vim.keymap.set('n', '', require("renamer").rename, { noremap = true }) -- nvim-telescope/telescope.nvim vim.keymap.set('n', '', ':Telescope find_files', { noremap = true }) -- kamykn/spelunker.vim vim.keymap.set('n', '', ':call spelunker#toggle()', { noremap = true }) vim.keymap.set('n', 'ZT', '', { noremap = true }) vim.keymap.set('n', 'Zt', '', { noremap = true }) -- kevinhwang91/nvim-ufo vim.keymap.set('n', 'K', function() local winid = require('ufo').peekFoldedLinesUnderCursor() if not winid then vim.lsp.buf.hover() end end)