mkdx + readme

This commit is contained in:
СЕМА 2025-02-28 16:37:30 +03:00
parent ed905bb75f
commit ce9750cd39
3 changed files with 57 additions and 80 deletions

View File

@ -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 - уменьшение отступа нумерованного элемента списка
- ]] - переход к следующему заголовку
- [[ - переход к предыдущему заголовку
Дополнительные команды для режима вставки:
- <tab - вставить горячие клавиши
- enter - обработчик enter
- shift+enter - обработчик shift+enter
- ctrl+n - обработчик автодополнения ctrl+n
- ctrl+p - обработчик автодополнения ctrl+p
###### Помогите
>Бедным детям в Уганде нужна ваша помощь!
>
>Наберите :help iccf<Enter> для дополнительной информации

View File

@ -91,66 +91,7 @@ vim.opt.showmatch = true
-- Бинд для headings
vim.api.nvim_set_keymap('n', '<Leader>1', "0i# <Esc>$", { noremap = true, silent = true })
vim.api.nvim_set_keymap('n', '<Leader>2', "0i## <Esc>$", { noremap = true, silent = true })
vim.api.nvim_set_keymap('n', '<Leader>3', "0i### <Esc>$", { noremap = true, silent = true })
vim.api.nvim_set_keymap('n', '<Leader>4', "0i#### <Esc>$", { noremap = true, silent = true })
vim.api.nvim_set_keymap('n', '<Leader>5', "0i##### <Esc>$", { noremap = true, silent = true })
vim.api.nvim_set_keymap('n', '<Leader>6', "0i###### <Esc>$", { noremap = true, silent = true })
-- Бинд для VISUAL MODE: Добавление * в начало и конец выделенного текста
--vim.api.nvim_set_keymap('v', '<Leader>i', "<Esc>`<i*<Esc>`>a*<Esc>", { noremap = true, silent = true })
--vim.api.nvim_set_keymap('v', '<Leader>b', "<Esc>`<i**<Esc>`>a**<Esc>", { noremap = true, silent = true })
--vim.api.nvim_set_keymap('v', '<Leader>`', "<Esc>`<i<CR><Up>```bash<Esc>`>a<CR>```<Esc>", { 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("<CR>", 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
--------------------------------------------------------------------------[[ВИЗУАЛ]]--------------------------------------------------------------------------

View File

@ -1,25 +1,15 @@
-- Файл: init.lua (или lua/mkdx_config.lua, если вы используете модульную структуру)
vim.keymap.set('n', '<Plug>(mkdx-gen-or-upd-toc)', '<Plug>', { noremap = true, silent = true }) -- leader i
vim.keymap.set('n', '<Plug>(mkdx-toggle-checkbox-n)', '<Plug>', { noremap = true, silent = true }) -- leader t
vim.keymap.set('n', '<leader>/', '<Nop>', { noremap = true, silent = true })
vim.keymap.set('v', '<leader>/', '<Nop>', { noremap = true, silent = true })
-- Создаем группу автокоманд для mkdx
local function setup_mkdx_mappings()
-- Отключаем стандартные маппинги плагина
vim.api.nvim_set_keymap('n', '<Plug>(mkdx-gen-or-upd-toc)', '<Nop>', { noremap = true })
vim.api.nvim_set_keymap('n', '<Plug>(mkdx-text-italic-n)', '<Nop>', { noremap = true })
vim.api.nvim_set_keymap('n', '<Plug>(mkdx-toggle-checkbox-n)', '<Nop>', { noremap = true })
-- Переназначаем leader/ на leaderi (Italicize text)
vim.api.nvim_set_keymap('n', '<leader>i', '<Plug>(mkdx-text-italic-n)', { noremap = true, silent = true })
vim.api.nvim_set_keymap('v', '<leader>i', '<Plug>(mkdx-text-italic-v)', { noremap = true, silent = true })
-- Italic
vim.keymap.set('n', '<leader>i', '<Plug>(mkdx-text-italic-n)', { noremap = true, silent = true })
vim.keymap.set('v', '<leader>i', '<Plug>(mkdx-text-italic-v)', { noremap = true, silent = true })
-- Переназначаем leadert на leaderw (Toggle checklist item)
vim.api.nvim_set_keymap('n', '<leader>w', '<Plug>(mkdx-toggle-checklist-n)', { noremap = true, silent = true })
vim.api.nvim_set_keymap('v', '<leader>w', '<Plug>(mkdx-toggle-checklist-v)', { noremap = true, silent = true })
end
-- Toggle Checkbox
vim.keymap.set('n', '<leader>c', '<Plug>(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', '<leader>h', '<Plug>(mkdx-gen-or-upd-toc)', { noremap = true, silent = true })