94 lines
3.4 KiB
Lua
94 lines
3.4 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_prev({ 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>")
|
|
|
|
-- навигация между окнами TMUX
|
|
vim.g.tmux_navigator_no_mappings = 1
|
|
-- noremap <silent> {Previous-Mapping} :<C-U>TmuxNavigatePrevious<cr>
|
|
kmap("n", "<C-h>", ":<C-U>TmuxNavigateLeft<cr>")
|
|
kmap("n", "<C-j>", ":<C-U>TmuxNavigateDown<cr>")
|
|
kmap("n", "<C-k>", ":<C-U>TmuxNavigateUp<cr>")
|
|
kmap("n", "<C-l>", ":<C-U>TmuxNavigateRight<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>")
|
|
|
|
-- HELP
|
|
-- f-n - переход в текущей строке к слову начинающемуся на n (поиск вперед)
|
|
-- F-n - переход в текущей строке к слову начинающемуся на n (поиск назад)
|
|
-- gf - если под курсором имя файла, то будет переход к этому файлу
|
|
-- '' - переключение между прошлой и текущей позиции курсора
|
|
end
|
|
|
|
return M
|