mkdx + readme
This commit is contained in:
parent
ed905bb75f
commit
ce9750cd39
46
README.md
46
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 - уменьшение отступа нумерованного элемента списка
|
||||||
|
- ]] - переход к следующему заголовку
|
||||||
|
- [[ - переход к предыдущему заголовку
|
||||||
|
|
||||||
|
Дополнительные команды для режима вставки:
|
||||||
|
- <tab - вставить горячие клавиши
|
||||||
|
- enter - обработчик enter
|
||||||
|
- shift+enter - обработчик shift+enter
|
||||||
|
- ctrl+n - обработчик автодополнения ctrl+n
|
||||||
|
- ctrl+p - обработчик автодополнения ctrl+p
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
###### Помогите
|
||||||
>Бедным детям в Уганде нужна ваша помощь!
|
>Бедным детям в Уганде нужна ваша помощь!
|
||||||
>
|
>
|
||||||
>Наберите :help iccf<Enter> для дополнительной информации
|
>Наберите :help iccf<Enter> для дополнительной информации
|
||||||
|
@ -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)
|
-- Italic
|
||||||
vim.api.nvim_set_keymap('n', '<leader>i', '<Plug>(mkdx-text-italic-n)', { noremap = true, silent = true })
|
vim.keymap.set('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 })
|
vim.keymap.set('v', '<leader>i', '<Plug>(mkdx-text-italic-v)', { noremap = true, silent = true })
|
||||||
|
|
||||||
-- Переназначаем leadert на leaderw (Toggle checklist item)
|
-- Toggle Checkbox
|
||||||
vim.api.nvim_set_keymap('n', '<leader>w', '<Plug>(mkdx-toggle-checklist-n)', { noremap = true, silent = true })
|
vim.keymap.set('n', '<leader>c', '<Plug>(mkdx-toggle-checkbox-n)', { noremap = true, silent = true })
|
||||||
vim.api.nvim_set_keymap('v', '<leader>w', '<Plug>(mkdx-toggle-checklist-v)', { noremap = true, silent = true })
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Создаем автокоманду для применения настроек после загрузки всех файлов
|
-- Generate/Update TOC
|
||||||
vim.cmd [[
|
vim.keymap.set('n', '<leader>h', '<Plug>(mkdx-gen-or-upd-toc)', { noremap = true, silent = true })
|
||||||
augroup MkdxMappings
|
|
||||||
autocmd!
|
|
||||||
autocmd VimEnter * if &filetype == 'markdown' || &filetype == 'mkdx' | lua setup_mkdx_mappings() | endif
|
|
||||||
augroup END
|
|
||||||
]]
|
|
||||||
|
Loading…
Reference in New Issue
Block a user