nvim-kickstart/lua/custom/keymaps.lua

56 lines
2.4 KiB
Lua

vim.g.mapleader = ' '
local keymap = vim.keymap
keymap.set('i', 'jj', '<ESC>')
keymap.set('n', '<leader>nh', ':nohl<CR>', { silent = true })
keymap.set('n', '<leader>to', ':tabnew<CR>', { silent = true }) -- open new tab
keymap.set('n', '<leader>tx', ':tabclose<CR>', { silent = true }) -- close current tab
keymap.set('n', '<leader>tn', ':tabn<CR>', { silent = true }) -- go to next tab
keymap.set('n', '<leader>tp', ':tabp<CR>', { silent = true }) -- go to previous tab
keymap.set('n', 'gn', ':bn<CR>', { silent = true })
keymap.set('n', 'gp', ':bp<CR>')
keymap.set('n', '<C-s>', ':w<CR>')
keymap.set('n', '<leader>x', ':bd<CR>', { silent = true })
-- primeagen
keymap.set('v', 'J', ":m '>+1<CR>gv=gv", { silent = true })
keymap.set('v', 'K', ":m '<-2<CR>gv=gv", { silent = true })
-- [search]
keymap.set('n', 'n', 'nzzzh', { silent = true })
keymap.set('n', 'N', 'Nzzzh', { silent = true })
-- [copy/paste]
keymap.set('x', '<leader>p', '"_dP')
keymap.set('n', '<leader>y', '"+yy')
----------------------
-- Plugin Keybinds
----------------------
-- nvim-tree
keymap.set('n', '<leader>e', ':NvimTreeToggle<CR>', { silent = true }) -- toggle file explorer
keymap.set('n', '<leader>gt', ':NvimTreeFindFile<CR>', { silent = true }) -- toggle file explorer
-- telescope
keymap.set('n', '<leader>sf', '<cmd>Telescope find_files<cr>', { silent = true }) -- find files within current working directory, respects .gitignore
keymap.set('n', '<leader>sg', '<cmd>Telescope live_grep<cr>', { silent = true }) -- find string in current working directory as you type
keymap.set('n', '<leader>sc', '<cmd>Telescope grep_string<cr>', { silent = true }) -- find string under cursor in current working directory
keymap.set('n', '<leader>sb', '<cmd>Telescope buffers<cr>', { silent = true }) -- list open buffers in current neovim instance
keymap.set('n', '<leader>sh', '<cmd>Telescope help_tags<cr>', { silent = true }) -- list available help tags
keymap.set('n', '<leader>sk', '<cmd>Telescope keymaps<cr>', { silent = true }) -- list available help tags
-- git merge
keymap.set('n', '<leader>1', ':diffget LOCAL<CR>')
keymap.set('n', '<leader>2', ':diffget REMOTE<CR>')
-- toggleterm
keymap.set('n', '<M-1>', '<cmd>ToggleTerm direction=horizontal<cr>', { silent = true })
keymap.set('n', '<M-2>', '<cmd>ToggleTerm direction=vertical<cr>', { silent = true })
-- vim-sneak
keymap.set('n', 'f', '<Plug>Sneak_s', { silent = true })
keymap.set('n', 'F', '<Plug>Sneak_S', { silent = true })