diff --git a/README.md b/README.md index ada6ed2..3bda5c4 100644 --- a/README.md +++ b/README.md @@ -84,6 +84,52 @@ nvim . +# Сочетания клавиш + +Leader - пробел + +### Поиск (fzf.lua) +- Leader + o - поиск файлов по имени +- Leader + f - поиск файлов по содержимому + +# Markdown-форматирование(mkdx) + +- Leader + i - курсивный текст +- Leader + b - жирный текст +- Leader + = - следующее состояние чекбокса +- Leader + - - предыдущее состояние чекбокса +- Leader + ] - повышение заголовка +- Leader + [ - понижение заголовка +- Leader + ' - переключить цитату +- Leader + ` - обернуть инлайн кодом +- Leader + k - переключить горячие клавиши +- Leader + ll - переключить элемент списка +- Leader + lt - переключить элемент чеклиста +- Leader + / - сгенерировать/обновить TOC +- Leader + s - перечеркнутый текст +- Leader + ln - обернуть ссылкой +- Leader + t - переключить элемент чекбокса +- Leader + , - преобразовать CSV в таблицу (в режиме визуального выделения) +- Leader + j - перейти к заголовку +- Leader + I - быстрый TOC +- Leader + L - быстрая проверка мертвых фрагментов ссылок +- Leader + gf - перейти к файлу +- Leader + gx - открыть внешний файл +- Tab - отступ нумерованного элемента списка +- Shift + Tab - уменьшение отступа нумерованного элемента списка +- ]] - переход к следующему заголовку +- [[ - переход к предыдущему заголовку + +Дополнительные команды для режима вставки: +- Бедным детям в Уганде нужна ваша помощь! > >Наберите :help iccf для дополнительной информации diff --git a/lua/config/common-settings.lua b/lua/config/common-settings.lua index c28444a..3169346 100644 --- a/lua/config/common-settings.lua +++ b/lua/config/common-settings.lua @@ -91,66 +91,7 @@ vim.opt.showmatch = true --- Бинд для headings -vim.api.nvim_set_keymap('n', '1', "0i# $", { noremap = true, silent = true }) -vim.api.nvim_set_keymap('n', '2', "0i## $", { noremap = true, silent = true }) -vim.api.nvim_set_keymap('n', '3', "0i### $", { noremap = true, silent = true }) -vim.api.nvim_set_keymap('n', '4', "0i#### $", { noremap = true, silent = true }) -vim.api.nvim_set_keymap('n', '5', "0i##### $", { noremap = true, silent = true }) -vim.api.nvim_set_keymap('n', '6', "0i###### $", { noremap = true, silent = true }) --- Бинд для VISUAL MODE: Добавление * в начало и конец выделенного текста - ---vim.api.nvim_set_keymap('v', 'i', "``>a*", { noremap = true, silent = true }) ---vim.api.nvim_set_keymap('v', 'b', "``>a**", { noremap = true, silent = true }) - ---vim.api.nvim_set_keymap('v', '`', "````bash`>a```", { noremap = true, silent = true }) - - -function Table(mode, n) - if mode == "r" then - -- Режим строки (row) - vim.cmd("normal! `<") -- Переход в начало выделения - local k = vim.fn.strlen(vim.fn.getline(".")) -- Считаем количество символов в строке - vim.cmd("normal! `>") -- Переход в конец выделения - vim.cmd("startinsert") -- Вход в режим вставки - - for _ = 1, n do - vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes("", true, false, true), "n", false) -- Нажимаем Enter - vim.api.nvim_put({ string.rep("| ", k) }, "c", false, true) -- Вставляем "| " k раз - end - - vim.cmd("stopinsert") -- Выход из режима вставки - - elseif mode == "c" then - -- Режим столбца (column) - local start_row, _ = unpack(vim.fn.getpos "'<") -- Получаем начальную позицию выделения - local end_row, _ = unpack(vim.fn.getpos "'>") -- Получаем конечную позицию выделения - local k = end_row - start_row + 1 -- Считаем количество строк в выделенной области - - for _ = 1, n do - vim.cmd("normal! `<") -- Переход в начало выделения - vim.cmd("normal! $") -- Переход в конец строки - vim.cmd("startinsert") -- Вход в режим вставки - vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes(" |", true, false, true), "n", false) -- Пишем " |" - vim.cmd("stopinsert") -- Выход из режима вставки - - for _ = 1, k - 2 do - vim.cmd("normal! k") -- Перемещение на строку выше - vim.cmd("startinsert") -- Вход в режим вставки - vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes(" |", true, false, true), "n", false) -- Пишем " |" - vim.cmd("stopinsert") -- Выход из режима вставки - end - - vim.cmd("normal! k") -- Перемещение на строку выше - vim.cmd("startinsert") -- Вход в режим вставки - vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes("-|", true, false, true), "n", false) -- Пишем "-|" - vim.cmd("stopinsert") -- Выход из режима вставки - end - else - print("Invalid mode. Use 'r' for row or 'c' for column.") - end -end --------------------------------------------------------------------------[[ВИЗУАЛ]]-------------------------------------------------------------------------- diff --git a/lua/config/mkdx.lua b/lua/config/mkdx.lua index f9717c9..3f44490 100644 --- a/lua/config/mkdx.lua +++ b/lua/config/mkdx.lua @@ -1,25 +1,15 @@ --- Файл: init.lua (или lua/mkdx_config.lua, если вы используете модульную структуру) +vim.keymap.set('n', '(mkdx-gen-or-upd-toc)', '', { noremap = true, silent = true }) -- leader i +vim.keymap.set('n', '(mkdx-toggle-checkbox-n)', '', { noremap = true, silent = true }) -- leader t +vim.keymap.set('n', '/', '', { noremap = true, silent = true }) +vim.keymap.set('v', '/', '', { noremap = true, silent = true }) --- Создаем группу автокоманд для mkdx -local function setup_mkdx_mappings() - -- Отключаем стандартные маппинги плагина - vim.api.nvim_set_keymap('n', '(mkdx-gen-or-upd-toc)', '', { noremap = true }) - vim.api.nvim_set_keymap('n', '(mkdx-text-italic-n)', '', { noremap = true }) - vim.api.nvim_set_keymap('n', '(mkdx-toggle-checkbox-n)', '', { noremap = true }) - -- Переназначаем leader/ на leaderi (Italicize text) - vim.api.nvim_set_keymap('n', 'i', '(mkdx-text-italic-n)', { noremap = true, silent = true }) - vim.api.nvim_set_keymap('v', 'i', '(mkdx-text-italic-v)', { noremap = true, silent = true }) +-- Italic +vim.keymap.set('n', 'i', '(mkdx-text-italic-n)', { noremap = true, silent = true }) +vim.keymap.set('v', 'i', '(mkdx-text-italic-v)', { noremap = true, silent = true }) - -- Переназначаем leadert на leaderw (Toggle checklist item) - vim.api.nvim_set_keymap('n', 'w', '(mkdx-toggle-checklist-n)', { noremap = true, silent = true }) - vim.api.nvim_set_keymap('v', 'w', '(mkdx-toggle-checklist-v)', { noremap = true, silent = true }) -end +-- Toggle Checkbox +vim.keymap.set('n', 'c', '(mkdx-toggle-checkbox-n)', { noremap = true, silent = true }) --- Создаем автокоманду для применения настроек после загрузки всех файлов -vim.cmd [[ -augroup MkdxMappings - autocmd! - autocmd VimEnter * if &filetype == 'markdown' || &filetype == 'mkdx' | lua setup_mkdx_mappings() | endif -augroup END -]] +-- Generate/Update TOC +vim.keymap.set('n', 'h', '(mkdx-gen-or-upd-toc)', { noremap = true, silent = true })