For presentations I found few useful plugins (not mandatory, but very useful) and options.
Goyo - distraction free
The plugin Goyo, that removes all the visual elements (line numbering, status bar, tabs...) to make kind of like the VSCode "zen mode". Cool for presentations (I assume you don't want these elements).
Vim markdown - markdown right in vim
The plugin vim-markdown, that shows pretty markdown, like in emacs org-mode (the surrounding * or _ are removed when your cursor is not on the line).
I use it with the
g:vim_markdown_math set to 1 to I have kink of a LaTeX equation preview.
I use the
.vpm extension for my presentations. The idea is to make a file named
000.vpm, and a
002.vpm etc. so vim will open them in the right order. Then I open them all with
" when a .vpm file is opened, set the shortcuts
autocmd BufNewFile,BufRead *.vpm call SetVimPresentationMode()
" proper filetype for vim-markdown
" <buffer> so other filetypes aren't affected even if you open them in your presentation
" silent so if you try to go after the last or before the first slide, you do not get any error (nothing happens)
nnoremap <buffer> <space> :silent n<cr>
nnoremap <buffer> <up> :silent N<cr>
nnoremap <buffer> <down> :silent n<cr>
nnoremap <left> :silent N<cr>
nnoremap <right> :silent n<cr>
" start Goyo
Then, you can add some special highlighting for titles etc. if you don't like the basic ones for markdown. Here en example (just putted simple colours) :
" with .vpm files : load proper highlighting
autocmd BufWinEnter *.vpm call VimPresentationColors()
" hide dashes (they are annoying if you don't know markdown)
" you could do a conceal so they don't have any indentation difference
syn match dashes "^#\+"
hi dashes ctermfg=black
" here are the simple colours :
hi htmlH1 cterm=bold ctermbg=214 ctermfg=16
hi htmlH2 cterm=bold ctermbg=69 ctermfg=16
hi htmlH3 cterm=bold ctermbg=34 ctermfg=16
hi htmlH4 cterm=bold ctermbg=16 ctermfg=214
hi htmlH5 cterm=bold ctermbg=16 ctermfg=69
hi htmlH6 cterm=bold ctermbg=16 ctermfg=34