nvim-config/lua/keybinds.lua
2022-10-11 10:19:50 -07:00

79 lines
3.0 KiB
Lua

local opts = { noremap = true, silent = true }
local map = vim.api.nvim_set_keymap
map("", "<Space>", "<Nop>", opts)
vim.g.mapleader = " "
vim.g.maplocalleader = " "
-- Window Navigation without needing <C-w> first
map("n", "<C-h>", "<C-w>h", opts)
map("n", "<C-j>", "<C-w>j", opts)
map("n", "<C-k>", "<C-w>k", opts)
map("n", "<C-l>", "<C-w>l", opts)
-- Stay in visual mode when indenting
map("v", "<", "<gv", opts)
map("v", ">", ">gv", opts)
-- Resize with C-arrow
map("n", "<C-Up>", "<cmd>resize -2<CR>", opts)
map("n", "<C-Down>", "<cmd>resize +2<CR>", opts)
map("n", "<C-Left>", "<cmd>vertical resize -2<CR>", opts)
map("n", "<C-Right>", "<cmd>vertical resize +2<CR>", opts)
-- Jump to column and row rather than first column in row
map("n", "'", "`", opts)
map("n", "`", "'", opts)
-- Close context menus
map('n', '<leader>q', '<cmd>cclose<CR>', opts)
-- Navigate buffers
map("n", "<S-l>", "<cmd>BufferLineCycleNext<CR>", opts) -- :bnext
map("n", "<S-h>", "<cmd>BufferLineCyclePrev<CR>", opts) -- :bprevious
map("n", "]b", "<cmd>BufferLineMoveNext<CR>", opts)
map("n", "[b", "<cmd>BufferLineMovePrev<CR>", opts)
map("n", "<leader>w", "<cmd>Bdelete<CR>", opts) -- don't close if unsaved
map("n", "<leader>c", "<cmd>Bdelete!<CR>", opts) -- close it no matter what B)
-- Toggle Diagnostics
map("n", "<leader>de", "<cmd>lua vim.diagnostic.enable()<cr>", opts)
map("n", "<leader>dd", "<cmd>lua vim.diagnostic.disable()<cr>", opts)
-- NvimTree
map('n', '<leader>e', '<cmd>NvimTreeToggle<CR>', opts)
map('n', '<leader>o', '<cmd>NvimTreeFocus<CR>', opts)
-- Telescope (See also configs/telescope.lua)
map("n", "<leader>ff", "<cmd>Telescope find_files<CR>", opts)
map("n", "<leader>fw", "<cmd>Telescope live_grep<CR>", opts)
map("n", "<leader>fo", "<cmd>Telescope oldfiles<CR>", opts)
map("n", "<leader>fp", "<cmd>Telescope projects<CR>", opts) -- ahmedkhalf/project.nvim
map("n", "<leader>fb", "<cmd>Telescope buffers<CR>", opts)
map("n", "<leader>fh", "<cmd>Telescope help_tags<CR>", opts)
map("n", "<leader>fs", "<cmd>Telescope git_status<CR>", opts)
map("n", "<leader>fc", "<cmd>Telescope git_commits<CR>", opts)
map("n", "gr", "<cmd>Telescope lsp_references<CR>", opts)
-- Lspsaga (See also configs/lspsaga.lua)
--map("n", "gl", "<cmd>Lspsaga show_line_diagnostics<CR>", opts)
map("n", "gpd", "<cmd>Lspsaga preview_definition<CR>", opts)
map("n", "gs", "<cmd>Lspsaga signature_help<CR>", opts)
map("i", "<C-s>", "<cmd>Lspsaga signature_help<CR>", opts)
map("n", "<leader>lr", "<cmd>Lspsaga rename<CR>", opts)
map("n", "<leader>la", "<cmd>Lspsaga code_action<CR>", opts)
map("n", "<C-u>", "<cmd>lua require('lspsaga.action').smart_scroll_with_saga(-1)<CR>", opts)
map("n", "<C-d>", "<cmd>lua require('lspsaga.action').smart_scroll_with_saga(1)<CR>", opts)
map("n", "<leader>b", "<cmd>GitBlameToggle<CR>", opts)
-- LSP (see configs/lsp-installer.lua)
-- disable K in visual mode
map("v", "K", "<Nop>", { noremap=false, silent=true })
-- Checkboxes (see gerardbm/vim-md-checkbox)
-- nnoremap <silent> <leader>we :call <sid>changecheckbox()<cr>
-- nnoremap <silent> <leader>wx :call <sid>deletecheckbox()<cr>