-
Notifications
You must be signed in to change notification settings - Fork 6
6.Customizing Keymaps
yousefhadder edited this page Mar 8, 2026
·
2 revisions
markdown-plus.nvim exposes <Plug> mappings for all actions so you can fully customize your bindings.
require("markdown-plus").setup({
keymaps = {
enabled = false,
},
})-- formatting
vim.keymap.set("n", "<C-b>", "<Plug>(MarkdownPlusBold)")
vim.keymap.set("x", "<C-b>", "<Plug>(MarkdownPlusBold)")
vim.keymap.set("x", "<C-e>", "<Plug>(MarkdownPlusEscapeSelection)")
-- code blocks
vim.keymap.set("n", "[b", "<Plug>(MarkdownPlusCodeBlockPrev)")
vim.keymap.set("n", "]b", "<Plug>(MarkdownPlusCodeBlockNext)")
vim.keymap.set("n", "<localleader>cl", "<Plug>(MarkdownPlusCodeBlockChangeLanguage)")
-- headers
vim.keymap.set("n", "gn", "<Plug>(MarkdownPlusNextHeader)")
vim.keymap.set("n", "gp", "<Plug>(MarkdownPlusPrevHeader)")
-- thematic breaks
vim.keymap.set("n", "<localleader>th", "<Plug>(MarkdownPlusInsertThematicBreak)")Table <Plug> mappings use the standardized MarkdownPlusTable* names.
Examples:
vim.keymap.set("n", "<localleader>Tc", "<Plug>(MarkdownPlusTableCreate)")
vim.keymap.set("n", "<localleader>Tf", "<Plug>(MarkdownPlusTableFormat)")
vim.keymap.set("n", "<localleader>Tn", "<Plug>(MarkdownPlusTableNormalize)")
vim.keymap.set("n", "<localleader>Tj", "<Plug>(MarkdownPlusTableMoveRowDown)")
vim.keymap.set("n", "<localleader>Tk", "<Plug>(MarkdownPlusTableMoveRowUp)")You can keep defaults enabled and map additional shortcuts:
require("markdown-plus").setup({
keymaps = { enabled = true },
})
-- extra shortcut for bold
vim.keymap.set("n", "<C-b>", "<Plug>(MarkdownPlusBold)")Defaults are only set when the target <Plug> is not already mapped, so your custom mappings win.
Use vimdoc for the complete up-to-date list:
:help markdown-plus-keymaps:help markdown-plus-plug-mappings