omg-nvim/lua/config/keymaping.lua
Timofey.Kovalev 00d9590d8c commit
2025-02-05 11:14:01 +03:00

122 lines
3.7 KiB
Lua

local map = vim.keymap.set
map("n", "<C-left>", "<C-o>", { desc = "LSP Back" })
map("n", "<C-right>", "<C-i>", { desc = "LSP Forward" })
map("v", "<C-c>", '"+y', { desc = "Copy selected" })
map({ "i", "n" }, "<C-v>", '<ESC>"+p', { desc = "Past" })
map({ "n", "v", "i" }, "<C-s>", function()
vim.cmd("w")
vim.api.nvim_input("<esc>")
end, { desc = "Save file" })
map({ "n", "v", "i" }, "<C-a>", "<ESC>ggVG", { desc = "Select all" })
map("n", "<C-S-left>", "<C-w>h", { desc = "switch window left" })
map("n", "<C-S-right>", "<C-w>l", { desc = "switch window right" })
map("n", "<C-S-down>", "<C-w>j", { desc = "switch window down" })
map("n", "<C-S-up>", "<C-w>k", { desc = "switch window up" })
map("n", "<C-_>", "gcc", { desc = "toggle comment", remap = true })
map("v", "<C-_>", "gc", { desc = "toggle comment", remap = true })
map({ "n", "v" }, "<C-q>", "<Cmd>BufferClose<CR>", { desc = "close window" })
map({ "n", "v" }, "<C-d>", "<Cmd>qa<CR>", { desc = "close window" })
-- neo-tree
map({ "n", "v" }, "<leader>e", "<Cmd>Neotree<CR>", { desc = "nvimtree focus window" })
map({ "n", "v" }, "<leader>g", "<Cmd>Neotree git_status float<CR>", { desc = "open gis status" })
-- telescope
-- map("n", "<leader>f", "<Cmd>Telescope live_grep<CR>", { desc = "telescope live grep" })
-- map("n", "<leader>r", "<Cmd>Telescope lsp_references<CR>", { desc = "telescope lsp references" })
-- map("n", "<leader>d", "<Cmd>Telescope lsp_definitions<CR>", { desc = "telescope lsp definitions" })
local snacks = require("snacks")
-- picker
map("n", "<leader>g", snacks.picker.grep, { desc = "telescope live grep" })
map("n", "<leader>f", snacks.picker.files, { desc = "telescope lsp references" })
map("n", "<leader>r", snacks.picker.lsp_references, { desc = "telescope lsp references" })
map("n", "<S-CR>", snacks.picker.lsp_definitions, { desc = "telescope lsp definitions" })
-- map("n", "<leader>gg", snacks.picker.git_log, { desc = "telescope live grep" })
-- barbar
map("n", "<tab>", "<Cmd>BufferNext<CR>", { desc = "Next tab" })
map("n", "<S-tab>", "<Cmd>BufferPrevious<CR>", { desc = "Previous tab" })
-- dap
local dap = require("dap")
map("n", "<leader>b", dap.toggle_breakpoint, { desc = "Toggle breakpoint" })
map("n", "<F5>", dap.step_over, { desc = "Step over" })
map("n", "<F6>", dap.step_into, { desc = "Step into" })
map("n", "<F7>", dap.step_out, { desc = "Step out" })
map("n", "<F8>", dap.continue, { desc = "Continue" })
-- bookmarks
local bm = require("bookmarks")
map("n", "<leader>m", bm.bookmark_toggle)
-- nvterm
local term = require("nvterm.terminal")
map("n", "<leader>t", function()
local t = term.list_terms()[1]
if t == nil then
term.new("horizontal")
return
end
term.hide_term(t)
term.show_term(t)
end, { desc = "Open terminal" })
-- searchbox
map({ "n", "v", "i" }, "<C-f>", function()
require("searchbox").incsearch({
modifier = "ignore-case",
})
end, { desc = "Search in file" })
-- menu
function MergeTable(table1, table2)
for _, value in ipairs(table2) do
table1[#table1 + 1] = value
end
return table1
end
local menu = require("menu")
local menuItems = MergeTable(require("config.menu"), require("menus.default"))
function OpenMenu(mouse)
-- require("menu.utils").delete_old_menus()
-- vim.cmd.exec('"normal! \\<RightMouse>"')
local ft = vim.bo.ft
if ft ~= "neo-tree" then
menu.open(menuItems, { mouse = mouse, border = true })
end
end
map({ "n", "v", "i" }, "<RightMouse>", function()
OpenMenu(true)
end)
map("n", "<A-CR>", function()
OpenMenu(false)
end)
-- --
-- map({ "n", "i" }, "<S-left>", function()
-- vim.cmd.normal("v")
-- -- vim.api.nvim_input("<CMD>v")
-- -- vim.api.nvim_command("set insertmode")
-- -- evim.cmd("v")
-- end)
require("langmapper").automapping({ global = true, buffer = true })