126 lines
7.2 KiB
Lua
126 lines
7.2 KiB
Lua
-- General
|
|
vim.g.mapleader = " "
|
|
|
|
-- Buffer functions
|
|
vim.api.nvim_set_keymap("n", "<leader>bd", ":b#|bd#<CR>", { noremap = true, silent = true }) -- Close buffer
|
|
vim.api.nvim_set_keymap("n", "<leader>bn", ":bn<CR>", { noremap = true, silent = true }) -- Next buffer
|
|
vim.api.nvim_set_keymap("n", "<leader>bp", ":bp<CR>", { noremap = true, silent = true }) -- Previous buffer
|
|
|
|
-- Window Functions using Leader W J/K/H/L
|
|
vim.api.nvim_set_keymap("n", "<leader>wj", "<C-w>j", { noremap = true, silent = true }) -- Move to bottom window
|
|
vim.api.nvim_set_keymap("n", "<leader>wk", "<C-w>k", { noremap = true, silent = true }) -- Move to top window
|
|
vim.api.nvim_set_keymap("n", "<leader>wh", "<C-w>h", { noremap = true, silent = true }) -- Move to left window
|
|
vim.api.nvim_set_keymap("n", "<leader>wl", "<C-w>l", { noremap = true, silent = true }) -- Move to right window
|
|
vim.api.nvim_set_keymap("n", "<leader>`", ":b#<CR>", { noremap = true, silent = true }) -- Switch to last window
|
|
vim.api.nvim_set_keymap("n", "<leader>wc", "<C-w>q", { noremap = true, silent = true }) -- Close Window
|
|
vim.api.nvim_set_keymap("n", "<leader>wp", "<C-w>p", { noremap = true, silent = true }) -- Move to previous window
|
|
|
|
-- Navigate to window using Leader w {number}
|
|
vim.api.nvim_set_keymap("n", "<leader>w1", "1<C-w><C-w>", { noremap = true, silent = true }) -- Move to window 1
|
|
vim.api.nvim_set_keymap("n", "<leader>w2", "2<C-w><C-w>", { noremap = true, silent = true }) -- Move to window 2
|
|
vim.api.nvim_set_keymap("n", "<leader>w3", "3<C-w><C-w>", { noremap = true, silent = true }) -- Move to window 3
|
|
vim.api.nvim_set_keymap("n", "<leader>w4", "4<C-w><C-w>", { noremap = true, silent = true }) -- Move to window 4
|
|
vim.api.nvim_set_keymap("n", "<leader>w5", "5<C-w><C-w>", { noremap = true, silent = true }) -- Move to window 5
|
|
vim.api.nvim_set_keymap("n", "<leader>w6", "6<C-w><C-w>", { noremap = true, silent = true }) -- Move to window 6
|
|
vim.api.nvim_set_keymap("n", "<leader>w7", "7<C-w><C-w>", { noremap = true, silent = true }) -- Move to window 7
|
|
vim.api.nvim_set_keymap("n", "<leader>w8", "8<C-w><C-w>", { noremap = true, silent = true }) -- Move to window 8
|
|
vim.api.nvim_set_keymap("n", "<leader>w9", "9<C-w><C-w>", { noremap = true, silent = true }) -- Move to window 9
|
|
|
|
-- Windows Move using Leader W J/K/H/L
|
|
vim.api.nvim_set_keymap("n", "<leader>Wj", "<C-w>J", { noremap = true, silent = true }) -- Move to bottom window
|
|
vim.api.nvim_set_keymap("n", "<leader>Wk", "<C-w>K", { noremap = true, silent = true }) -- Move to top window
|
|
vim.api.nvim_set_keymap("n", "<leader>Wh", "<C-w>H", { noremap = true, silent = true }) -- Move to left window
|
|
vim.api.nvim_set_keymap("n", "<leader>Wl", "<C-w>L", { noremap = true, silent = true }) -- Move to right window
|
|
|
|
-- Window Splits
|
|
vim.api.nvim_set_keymap("n", "<leader>wv", ":vsplit<CR>", { noremap = true, silent = true })
|
|
vim.api.nvim_set_keymap("n", "<leader>ws", ":split<CR>", { noremap = true, silent = true })
|
|
|
|
-- Tabs
|
|
vim.api.nvim_set_keymap("n", "<leader><TAB>n", ":tabnew<CR>", { noremap = true, silent = true })
|
|
|
|
-- Neogit
|
|
vim.api.nvim_set_keymap("n", "<leader>gg", "<cmd>Neogit<CR>", { noremap = true, silent = true })
|
|
|
|
-- nvim-tree
|
|
local function nvim_tree_attach(bufnr)
|
|
local api = require "nvim-tree.api"
|
|
|
|
local function opts(desc)
|
|
return { desc = "nvim-tree: " .. desc, buffer = bufnr, noremap = true, silent = true, nowait = true }
|
|
end
|
|
|
|
-- default mappings
|
|
api.config.mappings.default_on_attach(bufnr)
|
|
|
|
-- custom mappings
|
|
vim.keymap.set('n', '<C-t>', api.tree.change_root_to_parent, opts('Up'))
|
|
vim.keymap.set('n', '?', api.tree.toggle_help, opts('Help'))
|
|
end
|
|
|
|
vim.api.nvim_set_keymap("n", "<C-N>", ":NvimTreeToggle<CR>", { noremap = true, silent = true })
|
|
|
|
-- goto
|
|
vim.keymap.set("n", "gp", "<cmd>lua require('goto-preview').goto_preview_definition()<CR>", {noremap=true})
|
|
|
|
-- telescope
|
|
vim.api.nvim_set_keymap("n", "<leader>ff", "<cmd>Telescope find_files<CR>", { noremap = true, silent = true })
|
|
vim.api.nvim_set_keymap("n", "<leader>.", "<cmd>Telescope find_files<CR>", { noremap = true, silent = true })
|
|
vim.api.nvim_set_keymap("n", "<leader>fr", "<cmd>Telescope oldfiles<CR>", { noremap = true, silent = true })
|
|
vim.api.nvim_set_keymap("n", "<leader>fg", "<cmd>Telescope git_files<CR>", { noremap = true, silent = true })
|
|
vim.api.nvim_set_keymap("n", "<leader>f/", "<cmd>Telescope live_grep<CR>", { noremap = true, silent = true })
|
|
vim.api.nvim_set_keymap("n", "<leader>fb", "<cmd>Telescope file_browser<CR>", { noremap = true, silent = true })
|
|
vim.api.nvim_set_keymap("n", "<leader>fs", "<cmd>Telescope lsp_document_symbols<CR>", { noremap = true, silent = true })
|
|
vim.api.nvim_set_keymap("n", "<leader>fe", "<cmd>Telescope lsp_references<CR>", { noremap = true, silent = true })
|
|
vim.api.nvim_set_keymap("n", "<leader>fd", "<cmd>Telescope lsp_definitions<CR>", { noremap = true, silent = true })
|
|
vim.api.nvim_set_keymap("n", "<leader>,", "<cmd>Telescope buffers<CR>", { noremap = true, silent = true })
|
|
|
|
-- rest
|
|
vim.api.nvim_set_keymap("n", "<leader>rr", "<Plug>RestNvim", { noremap = true, silent = true })
|
|
vim.api.nvim_set_keymap("n", "<leader>rp", "<Plug>RestNvimPreview", { noremap = true, silent = true })
|
|
vim.api.nvim_set_keymap("n", "<leader>rl", "<Plug>RestNvimLast", { noremap = true, silent = true })
|
|
|
|
-- aerial
|
|
vim.api.nvim_set_keymap("n", "<leader>aa", "<cmd>AerialToggle<CR>", { noremap = true, silent = true })
|
|
|
|
-- trouble
|
|
vim.api.nvim_set_keymap("n", "<leader>tt", "<cmd>TroubleToggle<CR>", { noremap = true, silent = true })
|
|
|
|
-- todo
|
|
vim.api.nvim_set_keymap("n", "<leader>tf", "<cmd>TodoTelescope<CR>", { noremap = true, silent = true })
|
|
vim.api.nvim_set_keymap("n", "<leader>tl", "<cmd>TodoTrouble<CR>", { noremap = true, silent = true })
|
|
|
|
-- auto session
|
|
vim.api.nvim_set_keymap("n", "<leader>ss", "<cmd>SessionSave<CR>", { noremap = true, silent = true })
|
|
vim.api.nvim_set_keymap("n", "<leader>sr", "<cmd>SessionRestore<CR>", { noremap = true, silent = true })
|
|
vim.api.nvim_set_keymap("n", "<leader>sd", "<cmd>SessionDelete<CR>", { noremap = true, silent = true })
|
|
|
|
-- cokeline
|
|
vim.keymap.set("n", "<leader>bb", function()
|
|
require('cokeline.mappings').pick("focus")
|
|
end, { desc = "Pick a buffer to focus" })
|
|
-- vim.keymap.set("n", "<leader>bd", "<Plug>(cokeline-pick-close)", { silent = true })
|
|
|
|
-- terminal
|
|
vim.api.nvim_set_keymap("n", "<leader>tn", "<cmd>ToggleTerm direction=horizontal size=15<CR>", { noremap = true, silent = true })
|
|
vim.api.nvim_set_keymap("n", "<leader>tv", "<cmd>ToggleTerm direction=vertical size=70<CR>", { noremap = true, silent = true })
|
|
function _G.set_terminal_keymaps()
|
|
local opts = {buffer = 0}
|
|
vim.keymap.set('t', '<esc>', [[<C-\><C-n>]], opts) -- Exit to normal mode
|
|
vim.keymap.set('t', 'jk', [[<C-\><C-n>]], opts)
|
|
vim.keymap.set('t', '<C-h>', [[<Cmd>wincmd h<CR>]], opts)
|
|
vim.keymap.set('t', '<C-j>', [[<Cmd>wincmd j<CR>]], opts)
|
|
vim.keymap.set('t', '<C-k>', [[<Cmd>wincmd k<CR>]], opts)
|
|
vim.keymap.set('t', '<C-l>', [[<Cmd>wincmd l<CR>]], opts)
|
|
vim.keymap.set('t', '<C-w>', [[<C-\><C-n><C-w>]], opts)
|
|
end
|
|
vim.cmd('autocmd! TermOpen term://* lua set_terminal_keymaps()')
|
|
|
|
-- oil
|
|
vim.keymap.set("n", "-", "<CMD>Oil<CR>", { desc = "Open parent directory" })
|
|
|
|
-- maximize.nvim
|
|
vim.keymap.set('n', '<Leader>z', "<Cmd>lua require('maximize').toggle()<CR>")
|
|
|
|
|