78 lines
4.3 KiB
Lua
78 lines
4.3 KiB
Lua
-- Keymaps are automatically loaded on the VeryLazy event
|
|
-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua
|
|
-- Add any additional keymaps here
|
|
|
|
local k = vim.keymap
|
|
|
|
-- k.set("n", ";", ":", { desc = "" })
|
|
k.set("i", "jj", "<esc>", { desc = "" })
|
|
k.set("i", "jk", "<esc><cmd>w<cr>", { desc = "Save" })
|
|
|
|
k.set("n", "<leader>a", ":keepjumps normal! ggVG<cr>")
|
|
|
|
k.set({ "n", "v" }, "<M-t>", ":lua Snacks.terminal.get()<cr>", { desc = "Terminal" })
|
|
k.set({ "t", "n", "v" }, "<C-h>", "<C-\\><C-n><C-w>h", { desc = "Go to left window" })
|
|
k.set({ "t", "n", "v" }, "<C-j>", "<C-\\><C-n><C-w>j", { desc = "Go to bottom window" })
|
|
k.set({ "t", "n", "v" }, "<C-k>", "<C-\\><C-n><C-w>k", { desc = "Go to top window" })
|
|
k.set({ "t", "n", "v" }, "<C-l>", "<C-\\><C-n><C-w>l", { desc = "Go to right window" })
|
|
|
|
k.set("n", "<leader>li", "<cmd>LspInfo<cr>", { desc = "LSP Info" })
|
|
k.set("n", "<leader>ui", ":lua Snacks.dashboard()<cr>", { desc = "Dashboard" })
|
|
|
|
-- Основные горячие клавиши для Obsidian
|
|
k.set("n", "<leader>of", ":ObsidianQuickSwitch<CR>", { desc = "Quick switch" })
|
|
k.set("n", "<leader>on", ":ObsidianNew<CR>", { desc = "New note" })
|
|
k.set("n", "<leader>os", ":ObsidianSearch<CR>", { desc = "Search notes" })
|
|
k.set("n", "<leader>ot", ":ObsidianTags<CR>", { desc = "Tags" })
|
|
k.set("n", "<leader>ob", ":ObsidianBacklinks<CR>", { desc = "Backlinks" })
|
|
k.set("n", "<leader>ol", ":ObsidianLinks<CR>", { desc = "Links" })
|
|
k.set("n", "<leader>oo", ":ObsidianOpen<CR>", { desc = "Open in Obsidian" })
|
|
k.set("n", "<leader>or", ":ObsidianRename<CR>", { desc = "Rename note" })
|
|
k.set("n", "<leader>op", ":ObsidianPasteImg<CR>", { desc = "Paste image" })
|
|
k.set("n", "<leader>ow", ":ObsidianWorkspace<CR>", { desc = "Switch workspace" })
|
|
|
|
-- Горячие клавиши для Markdown
|
|
k.set("n", "<leader>mp", ":MarkdownPreviewToggle<CR>", { desc = "Toggle preview" })
|
|
k.set("n", "<leader>mg", ":Glow<CR>", { desc = "Glow preview" })
|
|
k.set("n", "<leader>mt", ":TableModeToggle<CR>", { desc = "Table mode" })
|
|
k.set("n", "<leader>mc", ":lua require('markdown-togglecheck').toggle()<CR>", { desc = "Toggle checkbox" })
|
|
|
|
-- Splitting & Resizing
|
|
k.set("n", "<leader>sv", ":vsplit<CR>", { desc = "Split window vertically" })
|
|
k.set("n", "<leader>sh", ":split<CR>", { desc = "Split window horizontally" })
|
|
k.set("n", "<C-Up>", ":resize +2<CR>", { desc = "Increase window height" })
|
|
k.set("n", "<C-Down>", ":resize -2<CR>", { desc = "Decrease window height" })
|
|
k.set("n", "<C-Left>", ":vertical resize -2<CR>", { desc = "Decrease window width" })
|
|
k.set("n", "<C-Right>", ":vertical resize +2<CR>", { desc = "Increase window width" })
|
|
|
|
-- Move lines up/down
|
|
k.set("n", "<A-j>", ":m .+1<CR>==", { desc = "Move line down" })
|
|
k.set("n", "<A-k>", ":m .-2<CR>==", { desc = "Move line up" })
|
|
k.set("v", "<A-j>", ":m '>+1<CR>gv=gv", { desc = "Move selection down" })
|
|
k.set("v", "<A-k>", ":m '<-2<CR>gv=gv", { desc = "Move selection up" })
|
|
|
|
-- Better indenting in visual mode
|
|
k.set("v", "<", "<gv", { desc = "Indent left and reselect" })
|
|
k.set("v", ">", ">gv", { desc = "Indent right and reselect" })
|
|
|
|
-- Keys for Neorg
|
|
k.set("n", "\\jt", ":Neorg journal today<CR>", { desc = "Create Neorg Journal note today" })
|
|
k.set("n", "\\jc", ":Neorg journal custom<CR>", { desc = "Create Neorg Journal note custom" })
|
|
k.set("n", "\\<Space>", "<Plug>(neorg.qol.todo-items.todo.task-cycle)", { desc = "Cycle done-undone task in Neorg" })
|
|
vim.api.nvim_create_autocmd("Filetype", {
|
|
pattern = "norg",
|
|
callback = function()
|
|
vim.keymap.set("n", "<CR>", "<Plug>(neorg.esupports.hop.hop-link)", { buffer = true })
|
|
end,
|
|
})
|
|
|
|
k.set("n", "<leader>d", vim.diagnostic.setloclist, { desc = "Open diagnostics list" })
|
|
|
|
-- Bufferline
|
|
k.set({ "n", "v", "t" }, "<M-1>", "<cmd>BufferLineGoToBuffer 1<cr>", { desc = "Go to buffer 1" })
|
|
k.set({ "n", "v", "t" }, "<M-2>", "<cmd>BufferLineGoToBuffer 2<cr>", { desc = "Go to buffer 2" })
|
|
k.set({ "n", "v", "t" }, "<M-3>", "<cmd>BufferLineGoToBuffer 3<cr>", { desc = "Go to buffer 3" })
|
|
k.set({ "n", "v", "t" }, "<M-4>", "<cmd>BufferLineGoToBuffer 4<cr>", { desc = "Go to buffer 4" })
|
|
k.set({ "n", "v", "t" }, "<M-5>", "<cmd>BufferLineGoToBuffer 5<cr>", { desc = "Go to buffer 5" })
|
|
k.set({ "n", "v", "t" }, "<M-6>", "<cmd>BufferLineGoToBuffer 6<cr>", { desc = "Go to buffer 6" })
|