tarch-configs/configs/nvim/lua/core/mappings.lua
2024-03-23 10:05:10 +03:00

87 lines
3.1 KiB
Lua

local M = {}
local kmap = vim.keymap.set
M.load = function()
-- mapleader
vim.g.mapleader = " "
vim.g.maplocalleader = " "
kmap("", "<Space>", "<Nop>")
-- переход к ошибкам
kmap("n", "<leader>e", ":lua vim.diagnostic.goto_next({ border = \"rounded\" })<CR>")
-- сдвиг выделенного блока
kmap("v", "<", "<gv")
kmap("v", ">", ">gv")
-- перемещение выделенной строки
kmap("v", "<A-j>", ":m .+1<CR>==")
kmap("v", "<A-k>", ":m .-2<CR>==")
-- переназначаем <ESC>
kmap("i", "jk", "<ESC>")
kmap("i", "kj", "<ESC>")
kmap("i", "jj", "<ESC>")
kmap("i", "kk", "<ESC>")
kmap("c", "jk", "<ESC>")
kmap("c", "kj", "<ESC>")
kmap("c", "jj", "<ESC>")
kmap("c", "kk", "<ESC>")
-- снять выделение результата поиска
kmap("n", "<leader><ESC>", ":nohlsearch<CR><C-L>")
-- заключить слово в ""
kmap("n", "<leader>\"", "viw<esc>a\"<esc>bi\"<esc>lel")
-- перемещение по ключам
kmap("n", "S", ":HopWord<CR>", { silent = true })
-- поиск
-- kmap("n", "<leader>F", ":Telescope find_files<CR>")
-- kmap("n", "<leader>T", ":Telescope live_grep<CR>")
kmap("n", "<leader>F", ":Telescope file_browser<CR>")
kmap("n", "<leader>T", ":Telescope live_grep theme=ivy<CR>")
-- поиск только в открытой дирректории
-- kmap("n", "<leader>t", ":Telescope live_grep theme=ivy --find-command=fzf --search_dirs=./<CR>")
-- переключение в tree
kmap("n", "<leader>n", ":NvimTreeFocus<CR>")
-- kmap("n", "<C-h>", "<C-w>h")
-- kmap("n", "<C-j>", "<C-w>j")
-- kmap("n", "<C-k>", "<C-w>k")
-- kmap("n", "<C-l>", "<C-w>l")
-- изменение размера окна
kmap("n", "<C-Up>", ":resize +2<CR>")
kmap("n", "<C-Down>", ":resize -2<CR>")
kmap("n", "<C-Left>", ":vertical resize -2<CR>")
kmap("n", "<C-Right>", ":vertical resize +2<CR>")
-- навигация по открытым буферам
kmap("n", "<TAB>", ":bnext<CR>")
kmap("n", "<S-TAB>", ":bprevious<CR>")
-- перемещение курсора посимвольно во время редактирования
kmap("i", "<S-Tab>", "<right>")
-- свертывание кода
kmap("i", "<F2>", "<C-O>za") -- toggle fold
kmap("n", "<F2>", "za") -- toggle fold
-- ===================
-- перемещение между вкладками
kmap("n", "<S-l>", ":BufferLineCycleNext<CR>")
kmap("n", "<S-h>", ":BufferLineCyclePrev<CR>")
kmap("n", "<leader>t", ":TermExec cmd=clear go_back=0<CR>")
-- HELP
-- f-n - переход в текущей строке к слову начинающемуся на n (поиск вперед)
-- F-n - переход в текущей строке к слову начинающемуся на n (поиск назад)
-- gf - если под курсором имя файла, то будет переход к этому файлу
-- '' - переключение между прошлой и текущей позиции курсора
end
return M