mkdx + readme
This commit is contained in:
@ -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
|
||||
|
||||
--------------------------------------------------------------------------[[ВИЗУАЛ]]--------------------------------------------------------------------------
|
||||
|
||||
|
||||
@ -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 })
|
||||
|
||||
Reference in New Issue
Block a user