slogan3

Ontwikkel een Neovim-configuratie voor efficiënt Markdown bewerken en previewen

description

Stelt gebruikers in staat om efficiënt Markdown-documenten te schrijven en beheren binnen Neovim door gerichte plugin- en toetscombinatie-aanbevelingen te bieden. Verbetert de productiviteit en vereenvoudigt het proces van document preview en export. Deze prompt vult een gat in bestaande prompts door te focussen op Markdown workflows, een veelvoorkomende behoefte onder ontwikkelaars en schrijvers.

prompt

Help me een Neovim-configuratie te ontwikkelen die mijn Markdown-bewerkingsworkflow verbetert. Ik wil functies zoals live preview, syntax highlighting, tabelbewerking en exportopties. Mijn voorkeurs e ...

try_prompt

generate_helper
disclaimerOnPageApi

ai_answers

provider: openai
model: gpt-4.1-nano
Natuurlijk! Hier is een suggestie voor een Neovim-configuratie die jouw Markdown-bewerkingsworkflow verbetert met functies zoals live preview, syntax highlighting, tabelbewerking en exportopties voor PDF en HTML. **1. Plugins** Gebruik een pluginmanager zoals 'vim-plug' of 'packer.nvim'. Hier een voorbeeld met 'packer.nvim': ```lua require('packer').startup(function() use 'wbthomason/packer.nvim' -- Packer zelf use { 'iamcco/markdown-preview.nvim', run = 'cd app && npm install', ft = {'markdown'} } use 'preservim/vim-markdown' -- Markdown syntax en functies use 'dhruvasagar/vim-table-mode' -- Tabelbewerking use 'lukas-reineke/indent-blankline.nvim' -- Verbeterde syntax highlighting use 'lyokha/vim-md-math' -- Math support (optioneel) use { 'glts/vim-magrittr', -- Markdown export functies ft = {'markdown'} } use 'jbyuki/markdown-preview.nvim' -- Alternatief voor live preview end) ``` **2. Basisinstellingen** ```vim " Markdown instellingen autocmd FileType markdown setlocal spell autocmd FileType markdown setlocal foldmethod=indent " Tabelmodus activeren let g:table_mode_map_prefix = '<leader>tm' -- Toegang tot tabelbewerking let g:table_mode_disable_mappings = 0 ``` **3. Live preview** Gebruik 'markdown-preview.nvim' of 'vim-markdown-preview.nvim': ```lua -- Voor markdown-preview.nvim vim.api.nvim_set_keymap('n', '<leader>p', ':MarkdownPreview<CR>', { noremap = true, silent = true }) vim.api.nvim_set_keymap('n', '<leader>p', ':MarkdownPreviewClose<CR>', { noremap = true, silent = true }) ``` **4. Tabelbewerking** Gebruik 'vim-table-mode': ```vim " Tabelmodus inschakelen autocmd FileType markdown nmap <leader>tm <Plug>(table-mode-toggle) ``` Na activering kun je tabellen bewerken met handige sneltoetsen, zoals Tab en Shift+Tab voor kolomvergroting/verkleining. **5. Syntax highlighting** Zorg dat syntax highlighting goed is ingeschakeld: ```vim syntax enable let g:markdown_syntax_conceal = 0 ``` **6. Export naar PDF en HTML** Gebruik 'vim-md-math' en externe tools zoals Pandoc: ```lua -- Command voor export naar HTML vim.api.nvim_create_user_command('ExportHTML', function() vim.cmd('!pandoc % -s -o ' .. expand('%:r') .. '.html') end, {}) -- Command voor export naar PDF vim.api.nvim_create_user_command('ExportPDF', function() vim.cmd('!pandoc % -s -o ' .. expand('%:r') .. '.pdf') end, {}) ``` **7. Toetscombinaties** ```vim " Export nnoremap <leader>he :ExportHTML<CR> nnoremap <leader>hp :ExportPDF<CR> " Live preview nnoremap <leader>p :MarkdownPreview<CR> ``` **8. Extra tips** - Zorg dat Pandoc en een LaTeX-distributie (zoals TeX Live) geïnstalleerd zijn voor PDF-export. - Voor een betere syntax highlighting, gebruik 'nvim-treesitter' met Markdown ondersteuning. - Overweeg 'vim-pandoc' voor uitgebreide documentverwerking. --- Met deze setup verbeter je je Markdown workflow: je hebt snelle toegang tot live preview, bewerking van tabellen, syntax highlighting en eenvoudige exportmogelijkheden. Pas de sneltoetsen en plugin-instellingen aan naar jouw voorkeur!
provider: deepseek
model: deepseek-chat
Zeker! Hier is een complete Neovim-configuratie voor Markdown-bewerking die aan al je vereisten voldoet: ## Vereiste Plugins (met `lazy.nvim`) ```lua -- plugins/markdown.lua return { -- Markdown syntax highlighting { "preservim/vim-markdown", ft = "markdown", dependencies = { "godlygeek/tabular" -- Vereist voor vim-markdown } }, -- Live preview { "iamcco/markdown-preview.nvim", build = function() vim.fn["mkdp#util#install"]() end, ft = "markdown", }, -- Tabelbewerking { "dhruvasagar/vim-table-mode", ft = "markdown", }, -- Export functionaliteit { "KillTheMule/nvim-export-markdown", ft = "markdown", dependencies = { "iamcco/markdown-preview.nvim" } }, -- Betere Markdown ondersteuning { "ellisonleao/glow.nvim", config = true, ft = "markdown", } } ``` ## Basis Markdown Configuratie ```lua -- config/markdown.lua vim.g.vim_markdown_folding_disabled = 1 vim.g.vim_markdown_no_default_key_mappings = 1 vim.g.vim_markdown_conceal = 0 vim.g.vim_markdown_conceal_code_blocks = 0 -- Markdown-preview config vim.g.mkdp_auto_start = 0 vim.g.mkdp_auto_close = 1 vim.g.mkdp_refresh_slow = 0 vim.g.mkdp_command_for_global = 0 vim.g.mkdp_open_to_the_world = 0 vim.g.mkdp_open_ip = '' vim.g.mkdp_browser = '' vim.g.mkdp_echo_preview_url = 1 vim.g.mkdp_page_title = '${name}' vim.g.mkdp_filetypes = {'markdown'} -- Table-mode config vim.g.table_mode_corner = '|' ``` ## Toetscombinaties voor Productiviteit ```lua -- keymaps/markdown.lua local keymap = vim.keymap.set -- Markdown-specifieke toetscombinaties keymap('n', '<leader>mp', ':MarkdownPreview<CR>', { desc = "Markdown preview starten" }) keymap('n', '<leader>ms', ':MarkdownPreviewStop<CR>', { desc = "Markdown preview stoppen" }) keymap('n', '<leader>mt', ':TableModeToggle<CR>', { desc = "Tabelmodus toggle" }) -- Export toetscombinaties keymap('n', '<leader>mep', ':ExportToPDF<CR>', { desc = "Exporteren naar PDF" }) keymap('n', '<leader>meh', ':ExportToHTML<CR>', { desc = "Exporteren naar HTML" }) -- Navigatie in Markdown keymap('n', ']]', '/^#<CR>', { desc = "Volgende kop", buffer = true }) keymap('n', '[[', '?^#<CR>', { desc = "Vorige kop", buffer = true }) -- Snelkoppelingen voor opmaak keymap('i', '<C-b>', '****<Left><Left>', { desc = "Vetgedrukt", buffer = true }) keymap('i', '<C-i>', '**<Left>', { desc = "Cursief", buffer = true }) keymap('i', '<C-k>', '``<Left>', { desc = "Inline code", buffer = true }) ``` ## Geavanceerde Markdown Instellingen ```lua -- autocmds/markdown.lua vim.api.nvim_create_autocmd('FileType', { pattern = 'markdown', callback = function() -- Automatische tekstomloop vim.opt_local.wrap = true vim.opt_local.linebreak = true vim.opt_local.textwidth = 80 -- Spellcontrole (optioneel) vim.opt_local.spell = true vim.opt_local.spelllang = 'nl,en' -- Automatische opsommingen vim.keymap.set('i', '<CR>', function() local line = vim.api.nvim_get_current_line() if line:match('^%s*[-*+]%s+') then return '<CR><C-o>cc' elseif line:match('^%s*%d+%.%s+') then return '<CR><C-o>cc' else return '<CR>' end end, { buffer = true, expr = true }) end }) ``` ## Export Configuratie ```lua -- config/export-markdown.lua require('export-markdown').setup({ -- PDF export met Pandoc pdf = { output_file = "%s.pdf", args = { "--pdf-engine=pdflatex", "-V", "geometry:margin=2cm" } }, -- HTML export html = { output_file = "%s.html", args = { "--self-contained", "--css=style.css" } }, -- Algemene Pandoc opties general = { args = { "--standalone" } } }) ``` ## Aanvullende Handige Plugins ```lua -- Optionele extra plugins { -- Automatische voltooiing voor Markdown "aspeddro/cmp-pandoc.nvim", ft = "markdown", }, { -- Snippets voor Markdown "chrisgrieser/nvim-puppeteer-snippets", ft = "markdown", }, { -- Betere navigatie door kopteksten "mzlogin/vim-markdown-toc", ft = "markdown", } ``` ## Installatie Stappen 1. **Installeer de plugins** door bovenstaande configuratie toe te voegen aan je Neovim setup 2. **Zorg voor dependencies**: ```bash # Pandoc voor export sudo apt install pandoc texlive-latex-base texlive-fonts-recommended # Of op macOS brew install pandoc basictex ``` 3. **Herstart Neovim** en run `:Lazy install` ## Gebruik Workflow - **Live preview**: `<leader>mp` om preview te starten, `<leader>ms` om te stoppen - **Tabellen**: `<leader>mt` om tabelmodus in/uit te schakelen, gebruik `||` om tabellen te maken - **Export**: `<leader>mep` voor PDF, `<leader>meh` voor HTML - **Navigatie**: `]]` en `[[` om tussen kopteksten te springen Deze configuratie biedt een complete Markdown-omgeving met alle gewenste functies voor productief schrijven en publiceren!